كُتب بواسطة سيمون شريف
فكر في تجاربك باستخدام تطبيقات مشاركة الركوب (ride-sharing) في الموبايل، مثل تطبيق Lyft. أنت قادر على طلب سيارة إلى إحداثياتك الجغرافية بالضبط، وصولاً إلى زاوية الشارع. هذه الوظيفة ممكنة بفضل واجهات برمجة التطبيقات أو API’s.
إن API هي منصة تسمح لمختلف أجزاء البرامج أو التطبيقات بالتواصل مع بعضها البعض. يُستخدم هذا المصطلح على نطاق واسع في سياق لغات البرمجة، أو الويب، أو أنظمة التشغيل، إلخ. على سبيل المثال، تشارك شركة Apple بشكل علني عدداً من واجهات برمجة التطبيقات (API) التي تعمل بنظام iOS — نظام التشغيل الخاص بها لأجهزة iPhone وiPad — لتسمح لمطوري التطبيقات باستخدامها. تتيح واجهات برمجة التطبيقات (API) لتطبيقات مثل انستجرام وسناب شات استخدام كاميرا الجهاز والميكروفون وغير ذلك الكثير.
ما هو ال API؟
يمكن أن تقع واجهات برمجة التطبيقات (API) في عدد من الفئات الفرعية. يعتمد العديد من تطبيقات الويب والأجهزة المحمولة، بالإضافة إلى الأجهزة (مثل Amazon Echo)، بشكل كبير على ما يُعرف بواجهات برمجة التطبيقات (API) على الويب، والتي سنركز عليها في هذا الدليل. تستخدم واجهة برمجة التطبيقات (API) نفس التقنيات الأساسية، مثل متصفحات الويب للسماح لتطبيقات مختلفة بالتواصل فيما بينها. تُتيح واجهات برمجة التطبيقات (API) عبر الويب للتطبيقات إمكانية استرداد البيانات أو تنفيذ عمليات تتجاوز قدراتها التي أٌنشأت بداخلها. في العادة، يطلب التطبيق، باستخدام الإنترنت، بعض البيانات أو الإجراءات من API. يوفر API استجابة للطلب، ثم يقوم التطبيق بتعديله وعرضه. كود ال API مستضاف على خادم، وهو بالأساس كمبيوتر متصل بالإنترنت. بناءً على الوظيفة التي يوفرها الـ API، قد تكون هناك طبقة إضافية من الأمان (security)، مثل إرسال مفتاح فريد أو مختلف.
دعونا نفكر في تطبيق موبايل عن الطقس مثل Dark Sky. حين تستخدمه لمعرفة حالة الطقس عند رمز بريدي معين (zip code)، يطلب التطبيق من الAPI حالة الطقس لهذا الرمز البريدي. يمكن للـ API الوصول إلى بيانات حالة الطقس وإعادتها كاستجابة للطلب. ثم يقوم التطبيق بالدخول لبيانات الطقس ويعرضها بشكل انتقائي كدرجة الحرارة بالفهرنهايت على سبيل المثال. تحدث نفس العملية إذا فحصت حالة الطقس في مدينة أخرى أو في موقعك الحالي.
كيفية استخدام API
يستطيع المبرمجون استخدام أي لغة برمجة حديثة ( مثل: JavaScript، Ruby، Python، أو Java) للتفاعل مع واجهات برمجة التطبيقات (API) الخاصة بهم أو إنشائها. تأتي معظم لغات البرمجة بالفعل مع البرامج اللازمة للتفاعل مع واجهات برمجة التطبيقات (API) للويب، ولكن المطورين عادة ما يقومون بتحميل حزم إضافية أو كود إضافي، من أجل السهولة والمرونة في التعامل.
لأي لغة برمجة مُعطاة، هناك عادة إطار (framework) واحد على الأقل متداول — مجموعة من البرامج — التي يمكن استخدامها لإنشاء API. يستخدم مبرمجو Ruby، على سبيل المثال، إطار Rails. كما يمكن للمبرمجين استخدام حزم لإضافة ميزات إلى واجهات برمجة التطبيقات (API)، مثل طبقات إضافية من التأمين (security). يتم تركيب أي برامج أو حزم ضرورية إضافية عادة مع مدير حزم تلك اللغة، مثل Ruby’s bundler.
كيف يعمل الAPI الداخلي؟
واجهة برمجة التطبيقات الداخلية (internal API) هي واحدة، و تستخدم داخل شركة أو مؤسسة. بالرغم من أن الشركة يمكنها أن تختار جعل أجزاء منها متاحة للجمهور. يمكن للمستخدمين داخل تلك المؤسسة الاستفادة من واجهة برمجة التطبيقات (API) الداخلية لمشاركة البيانات ومنطق الأعمال (على سبيل المثال، قواعد الشركة فيما يتعلق بالاتصالات بين واجهة مستخدم وقاعدة بيانات) عبر الأنظمة الأساسية — أي تطبيقات الويب أو iOS أو Android. أي شركة لديها تطبيقات ويب وهاتف ذكي، على الأرجح لها واجهة برمجة تطبيقات داخلية.
على سبيل المثال خدمة طلب الطعام Seamless لديها تطبيقات ويب وiOS وAndroid. كل المنصات الثلاث تستخدم واجهة برمجة التطبيقات (API) الداخلية لطلب إجراء ما، مثل إضافة طلب، وكذلك طلب بيانات، مثل تفاصيل أحدث طلب للمستخدم. تسمح واجهة برمجة التطبيقات (API) الداخلية ل Seamless إمكانية مشاركة البيانات داخلياً (معلومات المطعم) ومنطق العمل (طلب أحد العملاء الحصول على طبق) عبر أجهزة مختلفة.
كيف يعمل الAPI الخارجي؟
توفر العديد من المؤسسات واجهات برمجة التطبيقات الخارجية (external API’s)- ولو كان محدوداً أحياناً- التي تسمح للأفراد والشركات خارج تلك المنظمة بتطوير تطبيقات باستخدام خدماتها. حسب API الخارجية، قد يكون هناك تسجيل أو دفع أو قيود أخرى. على سبيل المثال، توفر صحيفة نيويورك تايمز واجهة برمجة التطبيقات الخارجية الشاملة المجانية ولكنها تتطلب التسجيل وأن يتبع المطورون مبادئ توجيهية معينة.
كما توفر خرائط (Google (Google maps واجهات برمجة التطبيقات (API) التي تسمح للمبرمجين بدمج الخرائط في مواقعهم وتطبيقاتهم، فضلاً عن تزويدهم بالاتجاهات ووقت السفر المتوقع. على سبيل المثال، Lyft تستخدم الAPI الخاص بخرائط Google. هناك API خارجية أخرى مشهورة مثل Yelp’s Business APIs والتي تسمح للمستخدمين بإيجاد أعمال. OpenWeatherMap API والتي تُرجع بيانات الطقس. Microsoft Azure Emotion API والتي تحدد المشاعر في الصور.
باستخدام واجهات برمجة التطبيقات (API) الخارجية يمكن للمبرمجين إنشاء تطبيقات ممزوجة بالتقنيات خاصة بهم. مثل تلك التي تستخدم Yelp Business API للعثور على المقاهي ذات التصنيف الأعلى في الحي وعرضها على خريطة بها أيقونات مخصصة باستخدام Google Maps API.
الAPI’s في موقع General Assembly
إن القدرة على العمل مع واجهات برمجة التطبيقات (API) للويب هي مهارة أساسية في تطوير الويب، سواء كنت تريد العثور على وظيفة كمطور ويب Front-end أوكمطور ويب full stack أو ببساطة تريد إنشاء تطبيقاتك الخاصة. في موقع General Assembly يمكن تغير المهنة لمطور شامل للويب (Web Development Immersive( — متوفرة في حرم الجامعة وعلى الإنترنت — بالإضافة إلى دورتنا في تطوير JavaScript بدوام جزئي، يتعلم الطلاب النظرية وراء استخدام واجهات برمجة التطبيقات (API) على الويب ويحصلون على ممارسة عملية يتم دمجها في مشاريعهم الخاصة. كما يستكشفون تقنيات متقاربة مثل AJAX وJSON. يختار العديد من الطلاب استخدام واجهة برمجة التطبيقات (API) على الويب كجزء من مشاريعهم النهائية وإنشاء تطبيقاتهم الخاصة بهم. وتغطي الدورة التدريبية front-end development والتي تكون بدوام جزئي جزءا ًمن أساسيات واجهة برمجة التطبيقات (API) كذلك.