API چیست؟
Application programming interface
وقتی شما از اپلیکیشن در گوشی موبایل خود استفاده میکنید ،آن اپلیکیشن به اینترنت وصل میشود و داده به سرور میفرستد . در ادامه سرور داده را بازیابی میکند،تفسیر میکند،اقدامات لازم را انجام داده و آن را به موبایل شما میفرستد که یک API دارد .همه اینها از طریق API صورت میگیرد
برای بهتر فهمیدن ،مثالی واضح تر را میزنیم:فرض کنید شما در رستورانی هستید و منویی برای شما گذاشته شده،آشپزخانه آن رستوران بخشی از سیستم است که سفارش شما را آماده میکند.آنچه وجود ندارد ،حلقه مهم برقرار کردن ارتباط شما با آشپزخانه است که سفارش شما را بفرستد و بیاورد
این جاست که صحبت پیش خدمت یا API به میان می آید .پیش خدمت یک پیام رسان است که درخواست یا سفارش شما را میگیرد و میفرستد
در بحث ما نیز API اینگونه است ،به گونه ای رابطی است بین بخش های مختلف سیستم که بتواند موارد مختلف را عبور دهد
آنچه بک API ارائه میدهد لایه ای از امنیت است
داده های تلفن شما هرگز به طور کامل در معرض سرور قرار نمیگیرد، به همین ترتیب سرور نیز به طور کامل در معرض تلفن شما نیست .در عوض ،هریک با بسته های کوچک داده ارتباط برقرار میکنند.
API آنقدر ارزشمند شده است که بخش بزرگی از درآمد بسیاری از مشاغل را تشکیل میدهد.شرکت ها بزرگ مانند Google ,amazon,eBay,expedia,salesforce.com تنها معدود شرکت هایی هستند که از API های خود درآمد کسب میکند
API مدرن:
با گذشت سال ها API غالبا هر نوع رابط اتصال عمومی به یک برنامه را توصیف میکند،اما اخیرا API مدرن برخی ویژگی ها را به کار گرفته است که آنها را بسیار ارزشمند و مفید می سازد.
- API های مدرن مطابق با استاندارد ها (به طور معمول http,rest) که توسعه دهندگان با آنها آشنایی دارند، به راحتی در دسترس و قابل درک هستند.
- آنها بیشتر شبیه محصولات رفتار میکنند تا که آنها برای مصرف مخاطبان طراحی شده باشند
- چون آنها بسیار استاندارد هستند ،آنها یک نظم و انضباط بسیار قوی تر برای امنیت و حاکمیت و هم چنین نظارت و مدیریت برای عمکلرد و مقیاس دارند.
- مانند هر قطعه دیگر از نرم افزار های تولید شده،API مدرن دارای چرخه توسعه نرم افزار (SDLC)خاص خود برای طراحی ،آزمایش ساخت ،مدیریت و نسخه سازی است.
- هم چنین ، API های مدرن به خوبی برای مصرف و نسخه سازی مستند شده اند.
API دسترسی به منابع را کنترل میکند:
API ها هم چنین برای کنترل دسترسی به دستگاه های سخت افزاری و عملکرد های نرم افزاری مورد استفاده قرار میگیرند که یک برنامه ممکن است لزوما اجازه استفاده از آن را نداشته باشد . به همین دلیل API ها اغلب نقش بزرگی در امنیت دارند.
به عنوان مثال ،اگر تاکنون از یک وب سایت بازدید کرده اید و در مرورگر خود پیامی مشاهده کده اید که وب سایت میخواهد موقعیت مکانی دقیق شما را ببیند،آن وب سایت سعی دارد از API جغرافیایی در مرورگر وب شما استفاده کند .
مروگر های وب API هایی مانند این را در معرض خود قرار میدهند تا دسترسی توسعه دهندگان به موقعیت مکانی شما را آسان کند
آنها فقط میتوانند از شما بپرسند کجا هستید و مرورگر کار سختی را برای دسترسی به GPS یا شبکه WIFI را انجام میدهد تا موقعیت مکانی شما را پیدا کند.