
api
برای این که عبارت api چیست را بهتر درک کنید، مقاله را با یک مثال ساده آغاز میکنیم. ارتباط انسانی چگونه اتفاق میافتد؟ مردم میتوانند افکار، نیازها و ایدهها را از طریق زبان (نوشتاری و گفتاری)، ژستها یا حالات چهره بیان کنند، درست است؟ در عین حال، تعامل ما با رایانهها، برنامهها و وبسایتها به اجزای رابط کاربری (UI) نیاز دارد. حال خودِ این نرم افزارها برای برقراری ارتباط میان یک دیگر به api نیاز دارند؛ در واقع نرم افزارها برای برقراری ارتباط و تبادل دادهها و عملکردها، از رابطهای قابل خواندن توسط ماشینی به نام API استفاده میکنند.
API ها مکانیسمهایی هستند که دو جزء نرم افزار را قادر میسازند تا با استفاده از مجموعهای از تعاریف و پروتکلها با یکدیگر ارتباط برقرار کنند. به عنوان مثال، سیستم نرم افزاری اداره هواشناسی حاوی دادههای آب و هوای روزانه است. برنامه آب و هوا در تلفن شما از طریق API با این سیستم “صحبت” میکند و به روز رسانی آب و هوای روزانه را در تلفن شما به شما نشان و انجام میدهد.

Application Programming Interface
اصطلاح API مخفف Application Programming Interface است. در زمینه API ها، کلمه Application به هر نرم افزاری با عملکردی مشخص اشاره دارد.
در این مقاله علاوه بر این که به بررسی مفهوم api چیست پرداختیم باید به بررسی نحوه کار api ها نیز بپردازیم. معماری API معمولاً بر حسب کلاینت و سرور توضیح داده میشود. برنامهای که درخواست را ارسال میکند کلاینت (مشتری) و برنامه ای که پاسخ را ارسال میکند سرور نامیده میشود؛ بنابراین در مثال آب و هوا، پایگاه داده آب و هوایی، سرور است و برنامه تلفن همراه مشتری است.
چهار روش مختلف وجود دارد که APIها بسته به زمان و دلیل ایجاد، مورد استفاده قرار میگیرند.
این APIها از پروتکل دسترسی به اشیا ساده استفاده میکنند. مشتری و سرور با استفاده از XML پیامها را مبادله میکنند. این یک API کمتر انعطاف پذیر است که در گذشته محبوبیت بیشتری داشته است.
این API ها را Remote Procedure Calls مینامند. کلاینت یک تابع (یا رویه) را در سرور تکمیل میکند و سرور خروجی را برای مشتری ارسال میکند.
Websocket API یکی دیگر از توسعهدهندگان وب API مدرن است که از اشیاء JSON برای ارسال داده استفاده میکند. یک WebSocket API از ارتباط دو طرفه بین برنامههای مشتری و سرور پشتیبانی میکند. سرور میتواند پیامهای پاسخ به تماس را به مشتریان متصل، ارسال کند که کارآمدتر از REST API است.
اینها محبوبترین و منعطفترین API هایی هستند که امروزه در وب یافت میشوند. مشتری درخواستها را به عنوان داده به سرور ارسال میکند. سرور از این ورودی برای شروع عملکردهای داخلی استفاده میکند و دادههای خروجی را به مشتری برمیگرداند.
Web API یا Web Service API یک رابط پردازش برنامه بین یک وب سرور و مرورگر وب است. همه وب سرویسها، API هستند اما همه API ها وب سرویس نیستند. REST API نوع خاصی از Web API است که از سبک معماری استانداردی استفاده میکند.
اصطلاحات مختلف پیرامون APIها، مانند Java API یا سرویس APIها، وجود دارند زیرا از نظر تاریخی، APIها قبل از شبکه جهانی وب ایجاد شدهاند. APIهای وب مدرن، APIهای REST هستند.
ادغامهای API اجزای نرم افزاری هستند که به طور خودکار دادهها را بین کلاینتها و سرورها به روز میکنند؛ مثلا زمانی که به منطقه زمانی دیگری سفر میکنید، زمان و تاریخ بهطور خودکار روی لپتاپ یا تلفن همراه شما همگامسازی میشوند.

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