API در گفت و گوهای برنامه نویسان به صورت پرتکرار استفاده میشود .ممکن است کسانی را که به تازگی به دنیای برنامه نویسی وارد شده اند، کمی سردرگم کند. با توجه به این موضوع ممکن است از خودتان بپرسید API چیست؟ چه کاربردی دارد؟ اینها سوالاتی است که معمولا ذهن برنامه نویسان تازه کار را به خود مشغول میکند. و خبر بد اینکه دنیای اینترنت سرشار از اطلاعات گیج کننده در مورد API است.
فرض کنید نیاز دارید مبلغ موجودی حساب بانکی تان را مشاهده کنید. بنابراین برای این منظور زمانی که در ماشینتان در پشت چراغ قرمز هستید از موبایل بانکتان استفاده میکنید. شما میتوانستید همین کار را از طریق وب سایت بانک هم انجام دهید. هیچ فرقی نمیکند که شما برای این کار از کدام نرم افزار بانک استفاده کرده باشید. در واقع شما یک درخواست (Request) به بانکتان فرستاده اید، و یک پاسخ (Response) که همان مبلغ موجودی شما است دریافت کرده اید. در هر دو روش برای دریافت اطلاعات از API بانک استفاده شده است.
API مخفف عبارت Application Programming Interface است. به زبان ساده API بخشی از برنامه است که وظیفه ارائه اطلاعات را دارد. پس از دریافت درخواست یک نرم افزار، یک پاسخ به همراه اطلاعات درخواست شده را به آن نرم افزار ارسال میکند.
تفاوت API و وبسایت
همانطور که میدانید در نگاه کلی، اینترنت مجموعه ای از سرورهاست. صفحات سایتهای مختلف بر روی یکی از این سرور ها، که به آنها سرور remote میگوییم قرار دارد. از یک دیدگاه خاص عملکرد این سرورهای remote شباهت بسیار زیادی به API دارد. در واقع شما میتوانید لپتاپ شخصی خود را به یک سرور محلی تبدیل کنید.از دید مرورگر، سرور remote یک API محسوب میشود.
از این دید، مرورگر نیز خود یک client یا کاربر است. این به آن معنی است که هر زمان که شما یک آدرس اینترنتی را در مرورگر خود وارد مینمایید، در حال استفاده از نوعی API هستید. البته توجه کنید که در حقیقت، سرور remote یک API نیست. در واقع API یک برنامه است که در بخشی از کامپیوتر سرور remote اجرا میشود. این برنامه روی سرور درخواستها را دریافت و جواب را در قالب پاسخ هایی به کاربران یا کلاینتها ارسال میکند.
API چگونه به کاربران خدمات میدهد
شاید اسامی سایت هایی به گوشتان خورده باشد که خدمات خود را در قالب APIها به کاربران خود ارائه میدهند. مثلا شرکت اینستاگرام یک API را ارائه میدهد که با استفاده از آن برنامه نویسان میتوانند به فالوئرهای یک اکانت و سایر اطلاعات او دسترسی داشته باشند. به برنامه نویسان کمک میکند با استفاده از آن اپلیکیشن هایی مانند آنفالویاب و فالوئر بگیر بسازند. بیشتر شرکتهای بزرگ دنیا، انواعی از آن را برای استفادههای گوناگون در اختیار کاربران خود قرار داده اند.
دسترسی به API ها
به زبان ساده زمانی که شرکتی یک آن را در اختیار کاربران خود میگذارد به این معنی است که یک یا چند URL ارائه میدهد که به تناسب درخواستهای کاربران، پاسخ هایی حاوی اطلاعات مناسب را ارسال میکند. البته این به آن معنی نیست که همانند یک صفحه وب، این پاسخها حاوی اطلاعات گرافیکی هستند. یعنی شما حتی میتوانید از طریق وارد کردن URLها در مرورگر خود، به اطلاعات دسترسی پیدا کنید. پاسخ API معمولا در قالب JSON ارسال میشود. اطلاعات JSON به راحتی میتواند در کدها توسط برنامه نویسان مورد استفاده قرار بگیرد.
جمع بندی
بسیاری از اپلیکیشنها و سایتها یک یا چند را در دسترس برنامه نویسان قرار میدهند تا از این طریق از سرویسهای آنها در برنامههای خود استفاده کنند. به عنوان مثال شرکت تلگرام یک API را در اختیار توسعه دهندگان گذاشته که با استفاده از آن میتوانند روباتهای تلگرامی بنویسند. همینطور اینستاگرام نوعی از API را ارائه کرده که اپلیکیشنهای آنفالویاب و لایک بگیر با استفاده از آن نوشته شده است. با استفاده از API توسعه دهندگان میتوانند برای دریافت اطلاعات به URL ارائه شده توسط اپلیکیشن درخواست ارسال کرده و اطلاعات مورد نظر را از طریق پیام پاسخ دریافت نمایند.