API به معني رابط کاربردي برنامه نويسي يا Application Programming
Interface و همچنين جنبه اساسي تشکيل وب 2 است. اما واقعا API چيست؟
اين کلمه توجه خاصي به رابط يا Interface دارد.
اگر شما هر گونه تجربه اي در برنامه نويسي داشته باشيد، همه معاني و مخفف
ها با شنيدن کلمه Interface به ذهنتان مي آيد؛ اما ما بيشتر علاقمند به
دانستن معني کلاسيک و معمولي آن هستيم.
يک رابط (Interface) يک مرز مشترک بين دو سيستم و سرويس جدا است. از
جمله مي توان اين موضوع را برداشت کرد که بين اين دو سيستم ارتباط برقرار
است.
تعريف
يک API رابط پياده سازي توسط نرم افزار است که به ديگر برنامه ها اجازه مي دهد با آن ارتباط داشته باشند.
چرا به API نياز داريم؟
مي توانيم جواب اين سوال را با يک کلمه بدهيم : ارتباطات. شما ممکن است
بپرسيد چرا ارتباط بسيار مهم است. براي جواب به اين سوال تصور کنيد
Notepad نمي توانست که نوشته ها از MS Word يا Google Chrome يا Firefox
کپي و پيست (Copy & Paste) کند. تصور کنيد بايد براي هر نوع نياز در هر
زماني تمامي متن را در نرم افزار ديگر تايپ مي کرديد. اين فقط يک از مثال
هاي مربوط به ارتباط بين نرم افزارها است و بايد بدانيم که تمامي ارتباط ها
از طريق API امکان پذير است.
واقعا API چيست؟
شما نمي توانيد يک API را به راحتي اينکه اين کار را در Notepad انجام
مي دهيد، اجرا کنيد. به اين دليل که عموما API ها براي کاربراني مثل شما و
من مخفي هستند. API ها قسمت هايي از کدهاي نوشته شده به وسيله برنامه
نويسان هستند که دقت زيادي بر روي آن ها انجام مي گيرد تا به ديگر برنامه
هاي ديگر اجازه بدهند تا بتوانند به برنامه مورد نظر وصل شود و با آن تعامل
داشته باشد.
API ها به طور خاص ساخته شده اند تا عملکرد و اطلاعات انتخاب شده را
نمايان کنند در حاليکه از ديگر بخش هاي برنامه حفاظت مي کنند و اجازه
برقراري ارتباط را مي دهند. ايجاد يک API به زمان زيادي لازم دارد؛ چون در
نهايت باعث مي شود نرم افزارهاي ديگر با برنامه شما ارتباط داشته باشند و
برنامه شما محبوب تر شود.
به عنوان يک مثال مناسب مي توان Twitter را نام برد. بيشتر مردم کلاينت
توييتر مورد علاقه شان را به جاي رابط وب ترجيح مي دهند. شما مي توانيد از
توييتر به با استفاده از وسيله هايي مانند گوشي هاي تلفن، موبايل هاي
هوشمند، iPod يا کامپيوتر استفاده کنيد. اين امکانات حاصل بهره مند بودن
توييتر از يک API (رابط کاربردي برنامه نويسي) عالي و منحصر به فرد است.
API چه استفاده اي دارد؟
همانطور که ميدانيم، API ها اجازه برقراري ارتباط بين نرم افزارهاي
مختلف را آسان مي کنند تا با يکديگر ارتباط موثر داشته باشند. پس مطمئنا
اين گزينه مي تواند براي توسعه يک پلتفرم و براي Mashup ها (برنامه ها)
مناسب باشد. همچنين ما مي توانيم از توييتر به عنوان يک مثال از اين که
چگونه API ها در توسعه پلتفرم ها موثر هستند، ياد کنيم. وقتي شما اطلاعات و
داده ها را ترکيب مي کنيد يا از عملکرد ديگر نرم افزارها و برنامه ها براي
ساخت يک نرم افزار ديگر استفاده مي کنيد، شما در واقع يک Mashup ايجاد
کرده ايد.
Mashup ها اين روزها بسيار در اينترنت محبوب هستند. پيشرفت اينترنت
وابسته به ارتباطات است؛ پس اين مي تواند ايده و دليل عالي براي به کار
گرفتن API ها باشد. اين يک عمل رايج براي نمايان ساختن بخشي از عملکردها يا
اطلاعات شما به عنوان API براي ديگران در وب است. گروه ها مي توانند آن
عملکرد و کاري را که شما ارائه مي دهيد با عملکردهاي ديگر سرويس ها ترکيب
کنند و سپس يک سرويس بهبود يافته و با عملکردهاي اضافه به کاران ارائه
کنند.
براي مثال Yelp اطلاعات مربوط به رستوران ها، هتل ها، مراکز خريد و
ديگر خدمات محلي را دارا است؛ اما ممکن است کاري بي فايده براي سايت و خسته
کننده براي کاربران باشد اگر آن ها سرويس نقشه خود را ايجاد کنند و به
کاربران اجازه دهند تا ببينند که مقاصد مختلف کجا هستند. بنابراين بجاي آن
مي توانند آن را با API هاي Google Maps ترکيب کنند و اطلاعات خود بر روي
آن قرار دهند. بدينوسيله ابزار و خدمات آن ها براي کاربران افزايش مي يابد.
اين يک نمونه عمومي استفاده از API است.
API هاي محبوب که شما مي توانيد از آن ها استفاده کنيد.
API ها همه جا هستند. محبوب ترين API ها متعلق به رابط هاي کاربردي
برنامه نويسي وب يا Web API مثل Google Maps API، Twitter API و Fickr API
مي باشد. اين ها همه موارد نيستند. شما مي توانيد يک فهرست کامل و طبقه
بندي شده از API ها در Programmable Web و WebMashup پيدا کنيد. در سايت
هاي گفته شده مي توانيد سطح علاقه کاربران و همچنين محبوبيت API ها و
خدماتي که توسط API ارائه شده اند و يا از API استفاده مي کنند را ببينيد.
شما در واقع از API بستگي به نيازهايتان و سطح تخصص تان استفاده مي
کنيد. شما ممکن است بخواهيد يک سرويس بزرگ در اينترنت ايجاد کنيد؛ در هر
زمينه که شما يک برنامه براي وب لازم داشته باشيد بايد از زبان هاي وب مثل
PHP, ASP.NET, Java يا Python استفاده کنيد. يک شروع خوب بازديد کردن از
صفحه رسمي API سرويس مورد نظرتان است. همچنين مي توانيد به دنبال کتابخانه
هاي ديگران که به زبان مورد نظر شما نوشته شده است هم بگرديد. معمولا اين
کتابخانه ها کار شما را آسان تر و سريعتر مي کنند. براي مثال توييتر تعدادي
از اين کتابخانه ها را در API ويکي خود ارائه مي دهد. شما همچنين مي
توانيد آموزش ها، اسناد رسمي و بهترين شيوه ها را در اين صفحات پيدا کنيد.
API ها براي مدت زيادي به يک يا صورت هاي ديگري وجود داشته اند. اولين
ارتباط بين برنامه ها ممکن است دقيقا بر اساس يک سند رسمي API نبوده؛ اما
امروزه آن ها بخش مهي از برنامه شما به خصوص اگر در رابطه با وب باشد،
هستند.
آيا تا کنون شما از API ساخته ايد و يا از API استفاده کرده ايد؟ نظرات و تجربه هاي خود را به ما بگوييد.