من أجل فهم ماهية واجهة برمجة التطبيقات بشكل أفضل ، من الأسهل أن تسأل أولاً: ما هو ليس واجهة برمجة التطبيقات؟ يمكن أن تكون API أشياء كثيرة ، ولكن هذه بعض الأشياء لا يمكن أن تكون:

  • برنامج كمبيوتر واحد يقوم بتشغيل وتنفيذ مجموعة محددة من الوظائف ولا شيء غير ذلك.
  • قاعدة بيانات مليئة بمختلف أجزاء المعلومات.
  • لغة برمجة.

كل هذه الأشياء ، في حد ذاتها ، لا ترقى إلى مستوى واجهة برمجة التطبيقات ، ولكن يمكن استخدامها للتفاعل مع واجهة برمجة التطبيقات.

معني API؟

API لتقف على واجهة برمجة التطبيق. تشبه الواجهة النظام الأساسي أو السطح ، حيث يمكن للعديد من الكيانات المختلفة التفاعل مع بعضها البعض. هذا هو أساسًا ما هو API: واجهة لبرامج الكمبيوتر للتفاعل مع بعضها البعض في نظام أو عبر الأنظمة البعيدة.

يمكن لواجهة برمجة التطبيقات الموثقة جيدًا أن تجعل حياة المبرمج أسهل. تخيل أن مبرمجًا يحتاج إلى برنامجه للوصول إلى قاعدة بيانات على نظام شخص آخر (أو حتى في نظامه الخاص) لجمع المعلومات. سيحتاج إلى كتابة واجهة (أو ، مجموعة من الوظائف في البرنامج) لتسهيل اتصال قاعدة البيانات هذا بحيث يمكن إجراء اتصالات مماثلة حيثما دعت الحاجة في البرنامج.

بشكل أساسي ، يجب أن يكون للواجهة تأثيرات قابلة للتكرار. يتطلب الأمر الكثير من الجهد والتشفير لإنتاج هذه الواجهة. والخبر السار هو أن واجهة برمجة التطبيقات (API) توفر للمبرمج عناء الاضطرار إلى كتابة واجهة من الصفر. تحتوي لغات البرمجة الأكثر شيوعًا على واجهات برمجة تطبيقات مدمجة لهذا الغرض بالذات. هذا مجرد مثال واحد على كيفية قيام واجهات برمجة التطبيقات بجعل عالم برمجة الكمبيوتر أكثر سهولة في الاستخدام.

API – الوثائق المطلوبة

تم توثيق معظم برامج الكمبيوتر ، لكنها ليست مطلبًا. على سبيل المثال ، إذا كتبت برنامجًا تستخدمه أنت فقط ، فلن يكون من الضروري توثيقه لأنك تعرف بالضبط كيف يعمل. إذا كنت تخطط لمشاركة برنامجك ، فمن المحتمل أن ترغب في توثيقه حتى يتمكن الآخرون من تعلم كيفية استخدامه.

ومع ذلك ، في عالم واجهات برمجة التطبيقات ، يلزم التوثيق. الغرض من API هو توفير واجهة يمكن للأنظمة والبرامج الأخرى التفاعل معها. بدون التوثيق ، تكون واجهة برمجة التطبيقات عديمة الفائدة لأنه لن يعرف أحد كيفية التعامل معها.

استدعاءات API والقيود والقيود

عندما تسمع شخصًا يتحدث عن “استدعاء API” ، فهذا يعني في الأساس الاتصال بواجهة برمجة التطبيقات أو التفاعل معها بطريقة ما. غالبًا ما تكون مكالمة API مجانية. على سبيل المثال ، يتطلب استخدام واجهة برمجة تطبيقات مدمجة في لغة برمجة أن يتم إنفاق الموارد المحلية لجهاز الكمبيوتر الخاص بك في إجراء هذا الاستدعاء. ولكن يتم إجراء بعض استدعاءات واجهة برمجة التطبيقات للأنظمة البعيدة وتتطلب موارد من جهات خارجية.

على سبيل المثال ، يؤدي الوصول إلى واجهة برمجة تطبيقات خرائط Google إلى قيام Google بإنفاق بعض الموارد لتلقي استدعاءاتك وتقديم البيانات المطلوبة. قد يكون هذا مقدارًا صغيرًا فقط من الموارد ، لذلك سيكون متاحًا إلى حد معين ؛ ولكن إذا بدأ تطبيقك في إجراء آلاف الاستدعاءات كل ثانية ، فقد تفاجأ عندما ترسل لك Google فاتورة ضخمة لإجراء كل هذه الاستدعاءات.

لا تدع نفسك تتورط في هذا الموقف. إذا كنت مبرمجًا ، فراجع تطبيقك بعناية للتأكد من أنه لا يُجري استدعاءات أكثر مما هو ضروري للغاية. إذا كان لديك أشخاص مختلفون يقومون بتشغيل برنامجك في مواقع مختلفة ، ففكر في مطالبتهم بإنشاء مفتاح API الخاص بهم. يحد مفتاح واجهة برمجة التطبيقات من الموارد لهذا المستخدم أو التطبيق.

أمثلة على واجهات برمجة التطبيقات الشائعة

لفهم واجهات برمجة التطبيقات وكيفية عملها بشكل أفضل ، قد يكون من المفيد مراجعة بعض الأمثلة الشائعة.

واجهة برمجة تطبيقات قاعدة بيانات Python

لغة برمجة Python الشهيرة لها قاعدة بيانات API الخاصة بها. تسمح هذه الواجهة لمبرمجي Python بربط تطبيقاتهم ببرنامج قواعد البيانات مثل MySQL والحفاظ على مستوى من التشابه. توفر واجهة برمجة تطبيقات قاعدة البيانات مجموعة قياسية من الوظائف التي يمكن لجميع البرامج مشاركتها. بهذه الطريقة ، على سبيل المثال ، يمكن تعيين مطور يعمل في مشروع واحد باستخدام قاعدة بيانات إلى مشروع آخر مع قاعدة بيانات أخرى واللحاق به على الفور لأن الترميز سيكون متطابقًا تقريبًا مع وجود اختلافات طفيفة فقط في المعلمات.

واجهات برمجة تطبيقات مطور جوجل

من لديه بيانات أكثر من جوجل؟ ربما الفيسبوك؟ من المحتمل أنك تستخدم مجموعة متنوعة من منتجات Google كل يوم. سواء أعجبك ذلك أم لا ، تمتلك Google البيانات القيمة حول كل ما يحدث تقريبًا على الويب. وبالطبع ، فإنها توفر مجموعة متنوعة من واجهات برمجة التطبيقات بحيث يمكن لبرامج الجهات الخارجية التفاعل مع كل تلك البيانات. هناك واجهة برمجة تطبيقات لخرائط Google والتحليلات والتقويم و YouTube وكل شيء تقريبًا من Google. ويمكن توصيلها جميعًا بتطبيقك المخصص عبر Google API.

تويتر وفيسبوك

هل لاحظت أن Twitter و Facebook وأدوات الوسائط الاجتماعية الشائعة الأخرى تظهر في كل مكان؟ إذا كنت من مستخدمي Apple ، فربما تكون قد لاحظت كيف يمكنك الآن التغريد مباشرة من تطبيق داخل جهاز الكمبيوتر الخاص بك ؛ لا حاجة لتسجيل الدخول من خلال متصفح الويب الخاص بك بعد الآن. كيف هذا ممكن؟

من المحتمل أن هذا التطبيق في جهاز الكمبيوتر الخاص بك يتم توصيله بواجهة برمجة تطبيقات Twitter. هذا يعني أنه يمكنك عرض التغريدات الأخرى وإرسال التغريدات الخاصة بك دون فتح متصفح الويب الخاص بك. وبالمثل ، يتيح لك Facebook نشر تحديثات الحالة من مجموعة متنوعة من التطبيقات المختلفة ، وليس جميعها من صنع Facebook. اتصالات API عبر منصات مختلفة تجعل هذا ممكنًا.

التعرف على API

ربما تفكر الآن ، حسنًا ، أنا مستعد لبدء اللعب باستخدام واجهات برمجة التطبيقات. المشكلة الوحيدة هي أنك بحاجة إلى واجهة برمجة تطبيقات لبدء العمل بها ومكانًا جيدًا لعرض الخدمات المتاحة. لذلك ، نوصي بإلقاء نظرة على RapidAPI. هناك ، يمكنك التصفح بين العديد من واجهات برمجة التطبيقات مفتوحة المصدر والمدفوعة للاندماج في برامجك.