API که مخفف Application Programming Interface می باشد ، این امکان را برای برنامه ها فراهم می کند تا با یکدیگر در ارتباط باشند. همانطور که میدانید UI یا User Interface ، رابط و بستری است که اماکن تعامل نرم افزار با انسان را فراهم می کند. حال به بستری که موجب ارتباط دو نرمافزار با یکدیگر میشود API میگویند. هربار که از برنامه هایی مانند فیس بوک یا اینستاگرام استفاده می کنید و یا از اپلیکیشن های هواشناسی وضعیت آب و هوا را چک می کنید در واقع دز حال استفاده از API هستید.
API چگونه کار میکند؟
وقتی از برنامه ای در تلفن همراه خود استفاده می کنید ، برنامه به اینترنت متصل می شود و داده ها را به یک سرور ارسال می کند. سرور سپس داده ها را بازیابی می کند ، آنها را بررسی می کند ، اقدامات و تغییرات لازم را انجام می دهد و آنها را به تلفن شما می فرستد. سپس برنامه ، آن داده ها را تفسیر کرده و اطلاعات مورد نیاز شما را به گونهای که قابل فهم باشد، به شما ارائه می دهد. – همه اینها از طریق API اتفاق می افتد.
مثال ساده برای درک API
تصور کنید که بر روی میز یک رستوران نشسته اید و منوی انتخابی برای سفارش دارید. آشپزخانه بخشی از “سیستم” است که سفارش شما را آماده می کند. آنچه در این میانه باید به آن توجه کنیم ،رابطی است که با کمک آن سفارشتان را به آشپزخانه فرستاده و و غذای خود را بر روی میز تحویل میگیرید. همانجا است که پیشخدمت یا API وارد می شود. پیشخدمت که نقش پیام رسان را دارد- یا API – درخواست یا سفارش شما را دریافت میکندو به آشپزخانه – سیستم – می گوید چه کاری انجام دهد. سپس گارسون پاسخ را به شما تحویل می دهد. که پاسخ در اینجا همان غذا است.
بهتر است بخوانید: نحوه ساخت یک ربات تلگرامی با استفاده از پایتون ۳
سیستم برق رسانی خانه و یک وسیله ی برقی مانند یخچال را در نظر بگیرید. یخچال برای روشن شدن و کار کردن به برق احتیاج دارد. اما نه می داند و نه لازم است بداند که برق چگونه ، با استفاده از چه انرژی و از کجا تامین می شود. علاوه بر این شرکت برق هم لازم نیست از جزییات سازو کار یخچال سازی آگاه باشند. تنها عامل ارتباطی این دو، خروجی برق ۲۲۰ از شرکت برق و دریافت آن توسط یخچال می باشد. در واقع پریز برق و دوشاخ یخچال به عنوان API عمل می کنند.
بهتر است بخوانید: نرمافزار Native چیست؟
حال مثالی دیگر. شاید با روند جستجوی آنلاین پروازها آشنا باشید. درست مانند رستوران ، شما گزینه های مختلفی از جمله شهرهای مختلف ، تاریخ رفت و برگشت و موارد دیگربرای انتخاب دارید. تصور کنید در حال رزرو پرواز خود در یک وب سایت شرکت هواپیمایی هستید. شما یک شهر و تاریخ رفت، یک شهر و تاریخ برگشت، کلاس کابین و همچنین سایر متغیرها را انتخاب می کنید. برای رزرو پرواز خود ، با وب سایت شرکت هواپیمایی ارتباط برقرار می کنید تا به پایگاه داده آنها دسترسی پیدا کنید .با کمک وبسایت خواهید فهمید که آیا در آن تاریخ پروازی وجود دارد که ظرفیت خالی برای شما داشته باشد و یا قیمت بلیط چه مقدار میباشد.
در این مثال شرکتهای مسافرتی اطلاعات مورد نیاز پرواز را از پایگاه دادهی شرکتهای هواپیمایی دریافت کنند. آن اطلاعات را به صورت آنلاین در اختیار شما قرار می دهد و شما میتوانید درخواست خود را ارسال کنید. API شرکت مسافربری درخواست شما را تحویل گرفته و پاسخی متناسب با آن برای شما ارسال میکند.
API یک لایه امنیتی ارائه می دهد
داده های تلفن شما هرگز به طور کامل در اختیار سرور قرار نمی گیرد ، وبه همین ترتیب تلفن شما به طور کامل به سرور دسترسی ندارد. بلکه ، هرکدام از آنها با بخشی از دادهها در ارتباط هستند و فقط آنچه لازم است را به اشتراک می گذارند – مانند سفارش غذا. شما به رستوران رفته و سفارش می دهید و آنها سفارشتان را آماده کرده و به شما تحویل میدهند. در این مثال شما از چگونگی آمادهشدن سفارشتان اطلاعی ندارید.
API ها این روزها چنان ارزشمند شده اند که بخش عمده ای از درآمد بسیاری از کسبوکارها را تشکیل می دهند. شرکت های بزرگی مانند گوگل ، eBay ، Salesforce.com ، آمازون و اکسپدیا تنها تعدادی از شرکت هایی هستند که از API های خود درآمد کسب می کنند. آنچه “API economy” به آن اشاره دارد همین بازار API است.
Modern API
در طول سالها ،در پاسخ به ” API چیست؟ ” اغلب هر نوع رابط اتصال عمومی به یک برنامه را توصیف میکردهاند. اما به تازگی ، API مدرن ویژگی هایی به دست آورده است که آنها را با ارزشترمی کند:
- API های مدرن از استانداردهایی (HTTP و REST) پیروی می کنند که آنها را برای توسعه سازگارتر، قابلیت دسترسیشان را راحت تر و قابل فهمتر میکند.
- با آنها به جای صرفا کد بیشتربه عنوان محصول برخورد می شود . آنها برای استفادهی متخصصان(به عنوان مثال ، توسعه دهندگان تلفن همراه) طراحی شده اند ، مستند هستند و به گونه ای نسخه بندی می شوند که کاربران می توانند انتظارات خاصی از نگهداری و چرخه عمر آن داشته باشند.
- از آنجا که این نوع APIها بسیار استاندارد میباشند ،دارای نظم و انسجام قوی تر می باشند که موجب شده امنیت آنها افزایش یابد. علاوه بر این از نظر عملکرد و مقیاس قابلیت نظارت و مدیریت بیشتری دارند.
- API مدرن همانند هر نرمافزار تولیدشدهای، عمر توسعه نرمافزار مختص به خود را برای طراحی، ﺁزمایش، ساخت، مدیریت و ایجاد تنوع در نرمافزار دارد. همچنین ، API های مدرن برای استفاده و نسخه برداری مستند هستند.
منبع : mulesoft