واجهة برمجة التطبيقات - API
ماهو API، واجهة برمجة التطبيقات - Application Programming Interface، أنواع الـ API (واجهة برمجة التطبيقات)، سياسات إنشاء الـ API.
ما هي واجهة برمجة التطبيقات - API؟
واجهة برمجة التطبيقات أو بيئة برمجة التطبيقات وتعرف بالإنجليزية Application Programming Interface وتكتب إختصارا API، وهي عبارة عن مجموعة من التعليمات البرمجية (Subroutine) المعرفة تعريفا جديدا، والمصممة لتنفيذ مجموعة من العمليات الشائعة الإستخدام في التطبيقات البرمجية، والتي تمكن التطبيقات من التواصل سويا، وأيضا تمكن مطوري البرامج من إنشاء التطبيقات ودمجها سويا بطريقة سهلة وبسيطة.
ببساطة، يمكنك أن تعتبر أن الـ API عبارة عن برنامج ومعه وثيقة تحتوي على معلومات عن كيفية تشغيل البرنامج (documentation)، عندما يلتزم مستخدم البرنامج (الـ API) بالتعليمات المحددة لتشغيله، سوف يحصل على النتائج المطلوبه.
ولكي تتمكن من فهم واجهة برمجة التطبيقات جيدا، سوف نقوم بذكر بعض الأمثلة لإستخداماتها في الحياة العملية، وهي كالتالي
أمثلة واقعية عن الـ API
المشتريات من المواقع الإلكترونية تعد من أشهر أمثلة على إستخدام الـ API، فعندما تقوم بشراء سلعة أو خدمة من خلال موقع على الإنترنت، فإن هذا الموقع يستخدم الـ API الخاص بشركة VISA على سبيل المثال، ليرسل له بيانات بطاقة المشتريات والسعر المطلوب خصمه، وينتظر الرد من خلال الـ API سواء بقبول العملية أو رفضها، وبناء عليه يقوم بتقديم الخدمة لك.
في كثير من الأحيان عند زيارة أي موقع إلكتروني أو أي تطبيق على جهاز موبايل، فإنك تجد أن الموقع أو التطبيق يقوم بعرض خريطة تحدد موقعه، وببساطه هذه الخريطة هي أحد أشهر إستخدامات الـ API، فلكي تظهر هذه الخريطة يقوم مطور التطبيق أو الموقع الإلكتروني بإستخدام Google Maps API، لكي يمكن تطبيقة من التواصل مع Google Maps من أجل عرض الخريطة بالمكان المحدد.
وأيضا في كثير من المواقع والتطبيقات، تجد أن الموقع يطلب منك تسجيل الدخول بإستخدام حساب Facebook أو Google أو غيرها من مواقع التواصل الشهيرة، وفي هذه الحالة فإن الموقع يستخدم الـ API الخاص بهذه الشركات، لكي يسمح للمستخدم بإستعمال خاصية محددة في الموقع أو التطبيق.
والكثير من الأمثلة الأخرى التي سوف تتعرف عليها وحدك بمجرد إنتهائك من قراءة هذا المقال.
أنواع الـ API
يمكن تقسيم الـ API إلى نوعين رئيسيين
API مرتبط بلغة البرمجة
وهو عبارة عن مجموعة من الأكواد مكتوبة بلغة محددة، لكي يتم إستدعائهم من خلال أي تطبيق مكتوب بنفس اللغة، فعلى سبيل المثال الـ API الخاص بـ Facebook والمستخدم في مواقع الويب، مطور بإستخدام لغة البرمجة JavaScript، ولكي يتم إستخدامه في أي موقع إلكتروني، فإنه يتوجب إستخدام أكواد JavaScript بالطريقة الموضحة في الـ Documentation الخاصة بشركة Facebook، وعادة عند إنشاء هذا النوع من الـ APIs فإن مطور الـ API يقوم بإنشاء أكثر من نسخة بأكثر من لغة برمجة، وذلك حتى يتمكن المبرمجين من دمج هذا الـ API داخل التطبيق الخاص بهم أي كانت لغة البرمجة المستخدمة.
API غير مرتبط بلغة البرمجة
هذا النوع من الـ API يمكن إنشاؤه بإستخدام أي لغة برمجة، ولكن يشترط تحويله إلى لغة الآلة (Machine Code)، وفي أغلب الأحيان إن لم يكن دائما، يتم إستخدام لغة البرمجة C - سي (C Language) أو لغة التجميع (Assembly Language) لكتابة هذا النوع من الـ API، ثم يتم عمل تحويل للأكواد المكتوبة إلى لغة الآلة، حتى يتمكن أي مبرمج من إستخدام هذه الأكواد مع أي لغة برمجة أخرى، ولعل من أشهر الأمثلة على هذا النوع من الـ API هو win32API، وهو الـ API الخاص بنظام التشغيل ويندوز، وهو عبارة عن مجموعة من الدوال (الأوامر البرمجية) التي يمكن إستدعاؤها في أي تطبيق يعمل على نظام التشغيل ويندوز، وأي كانت لغة البرمجة المستخدمة لإنشاء هذا التطبيق.
سياسات إصدار الـ API
يوجد ثلاثة طرق لإصدار أي API، في بعض الأحيان يخطئ البعض ويطلق عليهم أنواع الـ API، ولكن في حقيقة الأمر هم طرق أو سياسات إصدار الـ API، وهم كالتالي
الـ API الخاص - Private API
وهو الـ API الذي يتم إستخدامة داخل المؤسسة أو الشركة فقط، وهذه الطريقة تتيح للمؤسسة التحكم الكامل في الـ API.
الـ API المشترك - Partner API
هذه الطريقة يتم بها مشاركة الـ API الخاص بشركة معينة مع شريك آخر، كما هو الحال في إستخدام الـ API الخاص بالبنوك أو بشركة VISA، فهذا الـ API مصمم لكي يتم إتاحته للشركات التي ترغب في إتمام التداول المالي من خلال الإنترنت، وهذه الطريقة عادة ما تتيح للطرفين عائد مادي جيد، دون التخلي عن جودة الخدمة، فكل طرف يعمل على الجزء الخاص به من الـ API.
الـ API العام - Public API
في هذه الطريقة يتم إتاحة الـ API لكل المستخدمين، دون التقيد بأي شئ، مما يتيح دمج الـ API في العديد من التطبيقات.