API چیست؟ + کاربردهای آن
API واژه ای پرکاربرد است که در میان برنامه نویسان بسیار رایج می باشد. API به معنای رابط کاربردی برنامه نویسی یا Application Programming Interface است که در این مقاله قصد داریم به طور کامل شما را با آن آشنا کنیم.
API چیست؟
اگر بخواهیم API را به طور عامیانه تعریف کنیم باید بگوییم که API در واقع امکانی را در اختیار برنامه نویس قرار می دهد تا به برخی یا تمامی قابلیت های یک نرم افزار دیگر دسترسی پیدا کند.
برای مثال فرض کنید نرم افزار X نرم افزاری است که امکان ارائه API به توسعه دهندگان و برنامه نویسان را دارد. حال اگر ما در حال توسعه یک نرم افزار باشیم، می توانیم از برخی از امکانات نرم افزار X بهرمند شویم.
API ها به طور خاص ساخته شده اند تا عملکرد و اطلاعات انتخاب شده را نمایان کنند در حالی که از دیگر بخش های برنامه حفاظت می کنند و اجازه برقراری ارتباط را به دیگر نرم افزارها می دهند. ایجاد یک API به زمان زیادی لازم دارد؛ چون در نهایت باعث می شود نرم افزارهای دیگر با برنامه شما ارتباط داشته باشند و برنامه شما محبوب تر شود.
اگر بخواهیم مثالی واقعی برای API بزنیم، می توانیم سرویس Yelp را در نظر بگیریم که بانک اطلاعاتی عظیمی شامل آدرس رستورانها و مراکز خرید و حتی میزان محبوبیت آنها در اختیار دارد. مسلما طراحی و پیادهسازی نقشهای اختصاصی برای این سایت کاری بسیار وقتگیر و غیر قابل توجیه از نظر اقتصادی خواهد بود، اما با استفاده از API، به راحتی به نقشههای Google Maps دسترسی دارد و در نهایت با ترکیب عملکرد این دو سرویس، سرویسی بهبود یافته در اختیار کاربران Yelp قرار میگیرد.
API ها چگونه عمل می کنند؟
در واقع API ها با نمایان ساختن بخشی از عملکرد و اطلاعات نهفته موجود در برنامهها، تعامل آنها با محیط خارج را ممکن میکنند. البته این آشکارسازی بصورت امن و با محدودسازی دسترسی دیگر برنامههای خارجی صورت میپذیرد.
این شیوه امکان اشتراکگذاری دادهها بین نرم افزارهای مختلف را فراهم می کند و بدون نیاز به توسعهدهندگان (به منظور اشتراکگذاری کدهای این برنامهها)، تعامل بین نرمافزارها نیز امکانپذیر میشود.
اشتراکگذاری کدها در این مقیاس علاوه بر اتلاف وقت و ناکارآمد بودن، برای برنامهنویسهایی که تمایل به محرمانه نگه داشتن کدها دارند نیز خوشایند نخواهد بود. این شرایط حتی برای برنامههای متن باز نیز صادق است; جستجوی دستورات خاص از بین تمام کدهای یک اپلیکیشن، بسیار زمانبر خواهد بود.
خوشبختانه API ها دسترسی برنامههای خارجی به برخی مشخصههای خاص را محدود میکنند و با تعریف شیوهی تعامل سرویسها یا نرمافزارها با یکدیگر، امکان ایجاد یک ارتباط امن و سودمند را مهیا میکنند.
در حال حاضر API ها جایگاه بسیار مهمی در ارتباطات دارند; برنامهنویسها در چارچوب این پروتکلها، بهرهوری از شبکههای اجتماعی نظیر فیسبوک و یا خدماتی مانند google maps یا حتی سرویسهای ذخیرهسازی ابری مانند dropbox را ممکن ساختهاند.
برای مثال توسعهدهندگان اپلیکیشنهای بازی، API های همگامسازی را در اختیار کاربر قرار میدهند. با استفاده ازهمگام سازی، امکان ذخیرهسازی جایگاهتان در بازی را در فضای ابری خواهید داشت و بدین ترتیب میتوانید با استفاده از دستگاههای دیگر نیز ادامهی بازی را از همان نقطه از سر بگیرید.
استفاده از API ها صرفهجویی در زمان و آسودگی کاربران را نیز در پی خواهد داشت. به عنوان مثال بسیاری از کاربران شبکههای اجتماعی، استفاده از کلاینتهای فیسبوک در تلفنهای همراه را به رابط خود وبسایت آن ترجیح میدهند.
به طور کلی API های مختلف در همه جا هستند. مثلا در همین صفحه شما آیکونهایی را برای به اشتراکگذاری این مطلب در فیسبوک و گوگل پلاس را مشاهده میکنید. این لینکها با فراخوانی API مرتبط، به شما امکان پست یا توئیت کردن نظرات بدون خارج شدن از این صفحه را می دهند. حتی در قسمت نظرات هم API ها حضور دارند و ثبت و نمایش نظرات توسط آنها و بدون نیاز به تایید مدیران سایت صورت میگیرد.
در یک نگاه کلی میتوان گفت که API ها زمینه را برای توسعهی Mashup ها فراهم کردهاند. Mashup ها در واقع برنامهها یا سرویسهای تحت وب هستند که با استفاده از API های چند سرویس مختلف (مثل گوگل، فیسبوک، توئیتر..) عملکرد تمامی آنها را در قالب یک برنامه یا یک سرویس وب ارائه میکنند. دسترسی گستردهای که به واسطه وجود API ها برای سرویسهای بزرگ ایجاد شده است، تجربه جدیدی را برای کاربران وب به ارمغان آورده است.
البته API ها همیشه هم مفید نبودهاند. شرکت Twitter از یک سال پیش محدودیتهایی برای اپلیکیشنهای وابسته به API های این شرکت وضع کرده است. این تصمیم عملا برنامههای وابسته به توئیتر را بیاستفاده میکند و کاربران فقط امکان استفاده از برنامهها و وبسایت این شرکت را خواهند داشت و بدین ترتیب توئیتر میتواند مطمئن باشد که درآمدزایی مبتنی بر نمایش تبلیغات، به صورت موثر و متمرکزتری انجام میشود.
مثالهایی از این دست کم نیستند. شرکتهای مختلفی برای کسب سود بیشتر، سرویسهای مختلف و API هایی که اپلیکیشنهای شما به آنها وابسته هستند را از دسترس خارج کردهاند. گوگل تصمیم گرفت سرویسهایی مانند Google Health و اخیرا Google Reader را که گمان میرفت به سمت زیانده بودن پیش میروند از دسترس خارج کند و این سرویسها هیچوقت دوباره راه اندازی نشدند. مسلما این تصمیمات برای کاربرانی که از اپلیکیشنهای وابسته استفاده میکنند ناخوشایند خواهد بود.
با وجود این مشکلات، اشتیاق روز افزون توسعهدهندگان برای استفاده از قابلیتهای APIها و محبوبیت اپلیکیشنهای وابسته به سرویسهای کاربردی درمیان کاربران بر کسی پوشیده نیست.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.