API چیست؟
اگر در تیم های نرم افزاری مشغول به کار باشیم , حتما واژه API به گوشمون خورده. اصلا API یعنی چی و چه کاربردی در دنیای نرم افزارها داره؟ مسلما این که API مخففApplication Program Interface هست , کمک زیادی به ما نمی کنه و برای افرادی که به دنیای نرم افزار مسلط نیستن معنای خاصی نداره. پس در این مقاله مفهوم API رو به زبانی ساده و با یه مثال جالب مورد بررسی قرار میدیم.
حتی اگر برنامه نویس نباشید هم باید در مورد API و مفهوم اون بدونید. API ها به شما اجازه میدن تا به یک نرم افزار با فرمتی خاص متصل بشید و اطلاعات خاصی رو از اونها دریافت کنید. در واقع API باعث میشه تا یک نرم افزار به نرم افزار دیگه ای متصل بشه و با اون تبادل اطلاعات داشته باشه. بزارین خیلی مقدماتی بگیم که API یعنی چی؟
API چیست؟
فرض کنید گرسنتون شده و میخواید از رستوران خوب شهرتون یه غذا سفارش بدید. یه نگاهی به منوی اون رستوران میندازین و یک غذا رو انتخاب می کنید و سفارش میدید. سفارش شما توسط اون رستوران دریافت میشه و در واقع مورد پردازش قرار میگیره. میره به آشپزخونه و لیست غذاهای شما آماده میشه و در کنار مخلفات قرار میگیره و در نهایت سفارشی که شما به رستوران درخواست داده بودید , به شما تحویل داده میشه.
به به! حالا فرض میکنیم که شما روز سنگینی رو پشت سر گذاشتید و هنوز هم گرسنه اید! تصمیم میگیرید از پیتزا فروشی خوب شهرتون غذا سفارش بدید. حالا به نظرتون اگر به این پیتزا فروشی درخواست یه پرس چلوکباب بدید چه اتفاقی میفته؟ این غذا در لیست منوی اون رستوران نیست و طبیعتا شما با این درخواست , به غذاتون نمیرسید! 🙁
API مثل منوی رستوران هست
در مثال بالا شما یک برنامه اید و رستوران هم یک برنامه که قصد تبادل با اون رو دارید. برای دریافت اون چیزی که شما میخواید (غذا) از برنامه های دیگه (رستوران) باید یک درخواستی رو به اونها بفرستید(سفارش غذا) و این درخواست باید به فرمت و ساختار تعریف شده ای باشه(طبق منوی رستوران) و اگر برخلاف این ساختار عمل کنید , به خواستتون نمیرسید! 🙁
منوهای یک رستوران , لیستی از غذاهای اون رستوران رو در اختیار شما قرار میده و زمانی که شما یکی از اون غذاها رو انتخاب می کنید , سفارش شما به رستوران میرسه و بعد از انجام یه سری مراحل , سفارش به دست شما میرسه. API ها هم دقیقا یه سری دستورات رو تعریف می کنند که با درخواست هرکدوم از اونا توسط شما , نتیجه ی متفاوتی رو بهتون میرسونن.
البته این نکته رو فراموش نکنیم که مثال منوی رستوران , خیلی مثال دقیقی نیست. چرا که شما با هر لحن و بیانی می تونید یک غذا رو سفارش بدید و در نهایت نتیجه یکسانی رو دریافت کنید. اما برنامه به اون اندازه هوشمند نیست و باید طبق ساختار تعریف شده اون برنامه , درخواست خودتون رو بفرستید.
چرا API ها اهمیت زیادی دارن؟
چون باعث میشن که برنامه ها با هم در ارتباط باشن. حتی برنامه های مختلف با زبان های متفاوت. همچنین این موقعیت رو در اختیار کاربر قرار میده تا بدون ترک برنامه شما , از برنامه دیگری نیز استفاده کنه. برای مثال از طریق API وبسایت weather.com , میتونید اطلاعات مربوط به آب و هوای یک شهر خاص رو درخواست کنید و در وبسایت خودتون نمایش بدید. اینجوری نیازی نیست که کاربر وبسایت شما رو ترک کنه تا بتونه اطلاعات آب و هوای شهر خودشو بدست بیاره. با توجه به مثال رستوران , استفاده از API یعنی شما تو خونه میشینید و از رستوران های متفاوت , غذاهای متفاوتی رو سفارش میدید , بدون اینکه از خونه خارج بشید. 🙂
همچنین استفاده از API باعث میشه پیچیدگی کمتر بشه و کار رو براتون آسون تر میکنه. وقتی شما از طریق API اطلاعاتی رو درخواست میکنید , برای پردازش و ارسال این اطلاعات مراحل پیچیده ای در پشت صحنه انجام میشه و شما اون رو نمیبینید. شما فقط چیزی رو دریافت میکنید که اون رو درخواست کردید…
یه نمونه بارز از اهمیت API ها رو در سرویس صوتی الکسا میبینیم. مسلما توسعه دهندگان و برنامه نویسان نمی تونن یه سرویس پردازش صوت مثل الکسا رو به راحتی پیاده سازی کنن. برای همین از طریق API با این نرم افزار ارتباط برقرار میکنن. تمامی نرم افزارهای بزرگ و حتی کوچک دارای API هستن تا این امکان رو به توسعه دهندگان بدن که به راحتی بتونن با این برنامه ها ارتباط برقرار کنن. نرم افزارهایی مثل اینستاگرام , تلگرام , فیسبوک و …
کافیه اسم نرم افزار مورد نظرتون رو به همراه کلمه API در گوگل جستجو کنید تا به صفحه مربوط به اون منتقل بشید.
مطالب زیر را حتما مطالعه کنید
حسگرها و فناوریهای پوشیدنی و کاربردهای آنها در پزشکی
آشنایی با نمودار رابطهای (ER)
درخت دودویی
ساختمان داده درخت
مدار منطقی – گیت های منطقی
مدار منطقی-جبر بول
4 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
باتشکر از مهندس مجیدی
ای کاش در مورد نحوه ساخت Api هم یک مقدار توضیح می دادین
به هر حال خوب بود خیلی ممنون
متشکرم.
حتما در مطلبی جداگانه به این موضوع می پردازیم…
خسته نباشید
واقعا ممنونم
خیلی دنبال یک چنین مسیری بودم
فقط ی سوال اینکه در این حالت محدودیتی برا ارتباط ها نیست؟
ینی اینکه تو تمامی زمینه ها میشه این ارتباط رو برقرار کرد
مثلا سفارش دادن ب اون رستوران حد داره؟☺
متشکرم از شما 🙂
مسلما محدودیت وجود داره البته در مورد نوع درخواست ها شما. برای مثال اینستاگرام یک سری از API ها رو داره که فقط از اون ها می تونید استفاده کنید و اطلاعات مربوط اون رو بدست بیارید. برای مثال نمی تونید پست شماره n ام از یک پروفایل خصوصی رو ازش درخواست کنید , چون به شما تحویل نمیده! 😀
از نظر تعداد درخواست ها هم هر چقدر که بخواهید میتونید از اون رستوران درخواست اطلاعات کنید ولی با فرمتی که اون اجازه میده…