ای پی آی چیست و API های باز چگونه اینترنت را تغییر میدهند؟
آیا تاکنون به این فکر کردهاید که چگونه برنامههای روی رایانه شما و وبسایتهایی که از آنها بازدید میکنید، با هم ارتباط برقرار میکنند؟ برای درک این نکته نخست باید به دنیای عجیب و شگفتانگیز APIها وارد شویم. API اختصاری برای عبارت «رابطهای برنامهنویسی اپلیکیشن» (Application Programing Interfaces) محسوب میشود. در این مطلب به طور جامع و کاربردی به این پرسش پاسخ دادهایم که ای پی آی چیست و API های باز چگونه اینترنت را تغییر میدهند، پس با ما تا انتها همراه باشید.
ای پی آی چیست؟
عبارت ای پی آی به طور معمول در زمینههای علم رایانه مشاهده میشود. اما معنی آن چیست؟ این واژه به یک ابزار یا کتابخانهای اشاره میکند که به توسعهدهندگان کمک میکند تا کدی بنویسند که با نرمافزارهای دیگر ارتباط برقرار میکند.
این کدها از ابزارهای سطح پایین که برنامههای ویندوز و OS X استفاده میکنند کمک میگیرند تا از جنبههای زیرساختی سیستمعامل استفاده کنند. برخی از APIها نیز ابزارهایی هستند که امکانات اپلیکیشنهای روی گوشی را تأمین میکنند. به طور خلاصه ای پی آی روشی برای برقراری ارتباط بین یک برنامه رایانهای با برنامههای رایانهای دیگر فراهم میسازد.
اما API به خودی خود جذابیتی ندارد. آنچه اهمیت دارد کاربرد این ابزار است. در ادامه توضیح خواهیم داد که چگونه استفاده از ای پی آی موجب جذابتر شدن وب، بازتر عمل کردن دولتها و افزایش انتخابهای مشتریان شده است.
کاربردهای ای پی آی در کسب و کار چیست ؟
ممکن است تصور کنید که دنیای فناوری ماهیتی خشن دارد که در آن هیچ صاحب کسبوکاری به رقبای خود کمک نمیکند. اما این تصور نادرست است. در واقع بسیاری از شرکتهای فناوری مانند توییتر، لینکدین و فیسبوک حتی به شرکتها و رقبای شخص ثالث امکان استفاده از خدمات خود را میدهند.
البته دلایل تجاری کاملاً هوشمندانهای وجود دارد که چرا یک شرکت فناوری باید ای پی آی خود را منتشر کرده و به رقبایش امکان استفاده از این خدمات را بدهد. در مورد توییتر و فیسبوک میبینیم که چگونه طرفهای ثالث این خدمات را با کدهای خودشان غنیتر ساختهاند. نمونه مشخص از این مسئله در Klout قابل مشاهده است. این برنامه به توسعهدهندگان اجازه میدهد که تأثیر اجتماعی خود را اندازهگیری کنند، در زمینههای مورد علاقه خود افراد تأثیرگذار را بیابند و ارسال مطالب را در فیسبوک و توییتر زمانبندی نمایند.
همچنین داشتن API به کاربران امکان میدهد که برنامههای جایگزین برای پلتفرمهای رایانهای دسکتاپ و موبایل ایجاد کنند. مثلاً با استفاده از ای پی آی، برنامههای فیسبوک جایگزین، برای سیستمعامل اندروید و همچنین پلتفرمهای جدیدتر از سوی طرفهای ثالث توسعه یافته است. به همین دلیل است که فیسبوک، توییتر، اینستاگرام و لینکدین روی پلتفرمهای کوچکتر که ارزش تجاری کمتری دارند مانند ویندوز فون، بلکبری 10، سیستمعامل فایرفاکس و تایزن حضور دارند.
همچنین داشتن ای پی آی به کاربران و شرکتها کمک میکند که یک محصول موجود را تغییر دهند تا مطابق سلیقه آنها عمل کند. برای مثال API انتشار یافته از سوی استارتاپ نروژی Appear.in به کاربران امکان میدهد که نسخه HTML5 مخصوص خود از این برنامه ویدئوکنفرانس را درون بلاگ ها، وبسایتها یا برنامههایشان اجرا کنند.
کاربردهای ای پی آی در مرورگر چیست ؟
مشخصات HTML5 آنچه را که تجربه مدرن مرور وب را تشکیل میدهد چنین توصیف کرده است: سریع، تعاملی و با کمترین افزونهها تا حد ممکن. با این که پشتیبانی از این استاندارد در اکثر حوزهها هنوز کامل نشده است و هنوز روی مرورگرهای زیادی ناسازگار است؛ اما همچنان کارکردهای زیادی را عرضه کرده است.
ما قبلاً در بلاگ فرادرس HTML5 را بررسی کردهایم و حتی آموزشهایی در این خصوص عرضه شده است، اما در اینجا هم برخی خصوصیات آن را بر میشماریم. آخرین کارکردی که در HTML5 به ساخت بازیهای پر جزییات و انیمیشنها کمک میکند Canvas است. بدین ترتیب وبسایتها میتوانند دادهها را روی رایانه کاربر بدون نیاز به کوکی ذخیره کنند و همچنین موقعیت جغرافیایی و حتی میزان باتری رایانه کاربر را بدانند.
برای این که ایدهای از میزان قدرت HTML5 داشته باشید میتوانید یک بازی مبتنی بر HTML5 به نام HexGL را امتحان کنید. اما آنچه احتمالاً نمیدانید این است که این اجزای منفرد HTML5 را در واقع باید ای پی آی در نظر گرفت. اما چطور؟ در ابتدا باید گفت که همانند همه ای پی آی ها، استاندارد منتشر شده و به دقت طراحیشدهای در مورد شیوه کارکرد مرورگر و چگونگی استفاده توسعهدهندگان از آن وجود دارد.
توسعهدهندگان در روندی کاملاً مشابه ای پی آی وبسایت Appear.in و یا APIهای فیسبوک یا اینستاگرام میتوانند از این امکان و کارکرد در جهت ایجاد تبادل داده همانند ای پی آی IndexedDB یا جهت دسترسی به کارکردهای مرورگر مانند ای پی آی Canvas بهره بگیرند.
کاربردهای ای پی آی در دولت
در سالهای اخیر شاهد گشایش بیسابقهای در زمینه ارائه اطلاعات از سوی دولتها هستیم و میل به شفافیت افزایش یافته است. در بریتانیا وبسایتی آغاز به کار کرده است که همه مجموعه دادهها و آمار را یکجا عرضه میکند و برای متخصصین آمار، روزنامهنگاران و دانشمندان علم داده بسیار مناسب است. در ایالاتمتحده نیز حرکت بیوقفهای به سمت عرضه عمومی منابع اطلاعاتی وجود دارد؛ اما در این کشور مسئله کمی متفاوت است. در ایالاتمتحده علاوه بر ارائه اطلاعات به صورت فایلهای صفحه گسترده اکسل و CSV دادهها به صورت ای پی آی نیز در دسترس هستند.
زمینه این حرکت در فرمان اجرایی شماره 13571 صادر شده در تاریخ 27 آوریل 2011 است. این فرمان اجرایی سازمانهای دولتی را ملزم میکند که بررسی کنند به چه ترتیبی میتوانند ارائه خدمات را بهبود بخشند و روی ارائه این خدمات از طریق فناوری دیجیتال تأکید دارد.
این پروژه احتمالاً یکی از اولین موارد در نوع خود بوده است و موفقیتی بینظیر داشته است. اغلب سازمانهای دولتی ایالاتمتحده مجموعه دادهها را در معرض عموم قرار دادهاند که شامل موسسه ملی سلامت، ارتش ایالاتمتحده و وزارت امنیت داخلی این کشور است.
سخن پایانی
برای این که از مزیت اکثر این ای پی آی ها بهرهمند شوید، احتمالاً میبایست زمینه برنامهنویسی قوی داشته باشید و همچنین به میزانی از تبحر در خصوص بصریسازی دادهها، علم داده و آمار نیز احتیاج خواهید داشت. اما به عنوان یک کاربر نهایی میتوانید از برنامهها و وبسایتهایی که از این مجموعه دادهها استفاده میکنند، بهره بگیرید. یکی از مهمترین این نرمافزارها AirNow است که امکان نظارت بر کیفیت هوا را در محل زندگیتان فراهم میسازد.
ایالاتمتحده در زمینه استفاده از ای پی آی برای عرضه عمومی اطلاعات دولتی و افزایش شفافیت منحصربهفرد نیست. دولتهای دیگری که از آن زمان APIهای باز عرضه کردهاند شامل استرالیا، نیوزیلند، و بریتانیا هستند. ای پی آی ها در ظاهر کسلکننده به نظر میرسند، اما در عمل اصلاً چنین نیستند. ای پی آی ها روش عملکرد دولتها را تغییر دادهاند و سطح غیر قابل تصوری از حق انتخاب را در زمان استفاده از اینترنت فراهم میسازند.
اگر به این نوشته علاقهمند بودید، شاید موارد زیر نیز مورد توجه شما قرار گیرند:
- آموزش REST ای پی آی در وردپرس برای کار با داده های پایگاه داده
- آموزش مهارتهای اساسی کامپیوتر
- ای پی آی تنسورفلو (Tensorflow) – آشنایی با پلتفرم شناسایی اشیای گوگل
- طراحی و برنامه نویسی وب
- آموزش ساخت REST ای پی آی با لاراول (Laravel)
- گنجینه آموزش های وردپرس (WordPress)
==