API به زبان ساده


API چیست ؟ (Application Programming Interface)

API مخفف “Application Programming Interface”  و به معنای “رابط برنامه‌نویسی اپلیکیشن” است . در تعریف ، API یک نرم‌افزار واسط است که به دو برنامه اجازه‌ی صحبت کردن با یکدیگر را می‌دهد . هر دفعه که شما برای مثال اپلیکیشن تلگرام را باز می‌کنید و پیامی برای فردی ارسال می‌کنید و یا اینکه آب‌وهوا را در موبایل خود بررسی می‌کنید ؛ در حال استفاده از API هستید.

نمونه‌هایی از Application Programming Interface

هنگامی که از یک اپلیکیشن در تلفن همراه خود استفاده می کنید ، برنامه به اینترنت متصل می شود و داده ها را به سرور ارسال می کند. سپس سرور آن داده ها را دریافت می کند، آن ها را ترجمه می کند و اقدامات لازم را انجام می دهد و پاسخ آن را به گوشی شما برمی گرداند. سپس برنامه آن داده ها را ترجمه و تفسیر می کند و اطلاعات مورد نظر شما را ارائه می دهد. این دقیقا همان مفهوم API است ، تمام این موارد توسط API اتفاق می‌افتد .

سناریوی نمونه

برای توضیح بهتر این موضوع، اجازه دهید یک مثال آشنا بیاوریم. تصور کنید پشت میزی در یک رستوران نشسته اید و منویی از انتخاب ها برای سفارش دادن دارید . آشپزخانه بخشی از “سیستم” است که سفارش شما را آماده می کند. چه چیزی کم است ؟ آفرین !! یک پیوند میان شما و آشپزخانه که سفارش شما را به آشپزخانه منتقل کند و غذای شما را به میز تحویل دهد. اینجاست که پیشخدمت یا API وارد عمل می‌شود .

پیشخدمت یک پیام رسان ( یا API ) است که درخواست یا سفارش شما را می گیرد و به آشپزخانه ( سیستم ) می گوید که چه کاری انجام دهد. سپس گارسون پاسخ آشپزخانه را به شما تحویل می دهد. در این مورد، آن پاسخ غذا است.

نمونه واقعی

بیایید یک مثال واقعی‌تر بزنیم . حتما با روند جستجوی آنلاین پروازها و رزرو پرواز آشنا هستید.درست مثل رستوران،شما گزینه های مختلفی برای انتخاب دارید، از جمله انتخاب شهر مورد نظر ، تاریخ سفر و بازگشت و موارد دیگر.

بیایید تصور کنیم که در حال رزرو پرواز در یک وب سایت هواپیمایی هستید. در ابتدا مشخص می‌کنید که از کدام شهر به کدام شهر میخواهید سفر کنید و همچنین تاریخ رفت و بازگشت را هم وارد می‌کنید ، کلاس کابین و متغیرهای دیگر را هم انتخاب می کنید.

برای رزرو پرواز خود، با همان وب‌سایت شرکت هواپیمایی تعامل می‌کنید تا به پایگاه داده آن‌ها دسترسی داشته باشید و ببینید آیا صندلی‌هایی در آن تاریخ‌ها موجود است و هزینه‌های آن چقدر است.

اما اگر برای رزرو از سایت یک شرکت هواپیمایی که دسترسی مستقیم به اطلاعات را دارد استفاده نکنید چه ؟ ؛‌ مثلا از یک سایت خدمات مسافرتی آنلاین استفاده می‌کنید که اطلاعات مربوطه را مثل صندلی های خالی موجود و هزینه و … را در داخل پایگاه داده خود نداشته باشد و اطلاعات تعدادی پایگاه داده خطوط هوایی را جمع آوری می کند، چه ؟.

سایت خدمات مسافرتی، در این مورد، با API سایت خطوط هوایی تعامل دارد. API رابطی است مانند پیشخدمت رستوران که توسط آن سرویس مسافرتی آنلاین می‌تواند از پایگاه داده سایت شرکت هواپیمایی برای رزرو صندلی و دریافت اطلاعات مربوطه استفاده کند.

در سایت ساکدر هم ما از API ؛ Google map استفاده می‌کنیم تا اطلاعات مربوط به نقشه ها را در سایت خود داشته باشیم .

API یک لایه امنیتی ارائه می دهد

سرور هرگز به داده های تلفن شما دسترسی کامل ندارد و شما هم به تمام دیتاهای سرور دسترسی ندارید . در عوض، هر کدام با بسته‌های کوچکی از داده‌ها ارتباط برقرار می‌کنند و تنها آنچه لازم است را به اشتراک می‌گذارند ؛‌ مانند سفارش دادن در رستوران شما به رستوران می‌گویید چه غذایی دوست دارید بخورید و آن ها هم برای شما تنها همان غذا را سرو خواهند کرد و به شما تحویل می‌دهند .

در حقیقت API مانند یک لایه امنیتی تنها اطلاعاتی را که مورد نیاز است در اختیار می‌گذارد .

API ها آنقدر ارزشمند شده اند که بخش بزرگی از درآمد بسیاری از مشاغل را تشکیل می دهند.شرکت‌های بزرگی مانند Google، eBay، Salesforce.com ، Amazon و Expedia تنها تعدادی از شرکت‌هایی هستند که از APIهای خود درآمد کسب می‌کنند.

API مدرن

پس در یک تعریف کلی “API”  اغلب هر نوع رابط اتصال عمومی به یک اپلیکیشن توصیف میکند. با این حال، اخیراً، API مدرن برخی ویژگی‌ها را به خود گرفته است که آنها را فوق‌العاده ارزشمند و مفید می‌سازد.

برای مثال آن ها از استانداردهایی پیروی می کنند (معمولا HTTP و REST)، که به راحتی در دسترس هستند و به طور گسترده قابل درک هستند . با آنها بیشتر شبیه محصولات رفتار می شود تا کد و داکیومنت و ورژن های مختلفی دارند که به ارزش آن‌ها بسیار افزوده است .