على الإنترنت المليء بـ اختصارات مربكة وغير مألوفة ، قد يكون من السهل الخلط. أحد اختصارات الويب التي ربما سمعت عنها ولم تشعر بها أبدًا للإلهام هو "API".
ما المقصود بواجهة برمجة التطبيقات؟ واجهة برمجة التطبيقات (API) هي اختصار لـ واجهة برمجة التطبيقات، وهي اسم لمجموعة من الإجراءات والبروتوكولات التي تجعل عملية إنشاء تطبيقات البرامج أسهل بكثير.
هناك طريقة بسيطة للنظر إلى واجهة برمجة التطبيقات هي بمثابة خريطة طريق تخبرنا مكونات قطعة من البرنامج كيفية التفاعل. بدون استخدام واجهة برمجة التطبيقات ، قد تبدو شفرة المصدر بمثابة فوضى مختلطة ومربكة.
ومع ذلك ، فإن واجهات برمجة التطبيقات معقدة وتتطلب أكثر من ملخص موجز. في هذه المقالة ، دعنا نتعرف على كيفية عمل واجهات برمجة التطبيقات وأي المواقع والخدمات التي تستخدمها.
ما هي واجهة برمجة التطبيقات وكيف تعمل؟
الآن التي أثبتناها أن API هي مجموعة من الإجراءات التي تشير إلى البرنامج في الاتجاه الصحيح ، إلى أي مدى يعمل كل هذا بالضبط؟
أفضل طريقة لشرح الوظيفة الأساسية لواجهة برمجة التطبيقات هي توفير حقيقي مثال العالم. تتمتع خدمات توصيل الأغذية ، مثل GrubHub ، بشعبية لا تصدق في الوقت الحالي ، لذلك دعونا نناقش كيف يمكن أن تعمل التعليمات البرمجية وراء تطبيقات الجوال مثل هذه.
In_content_1 الكل: [ بحجم 300x250] / DFP: [640x360]قبل>->عند البحث عن مطعم أو عنصر غذائي في أحد هذه التطبيقات ، تتلقى نتائج ذات صلة بناءً على كلماتك الرئيسية وموقعك. عند تحديد نتيجة ، يتم تقديمك بخيارات عناصر الطعام ومواعيد التسليم والمزيد من الخيارات الخاصة بالمطعم.
لتحديد موعد التسليم ، يجب أن يحدث اتصال بين موقع التسليم وقاعدة بيانات — موقع الويب هو الواجهة الأمامية وقاعدة البيانات التي تمثل الواجهة الخلفية . قاعدة البيانات هي ما يخزن البيانات لجميع هذه المطاعم ، ومدى توفرها لكل موقع ، وجدول التشغيل ، والقوائم ، وأكثر من ذلك.
واجهة برمجة التطبيقات هي الاتصال بين قاعدة البيانات هذه وموقع الويب أو التطبيق الذي يقدم البيانات. من المهم وجود واجهة برمجة التطبيقات لإنشاء هذا الاتصال ، بدلاً من استخدام البيانات المرمزة ، وذلك أساسًا بسبب شعبية عمليات تكامل الجهات الخارجية.
على سبيل المثال ، سيكون من المفيد لموقع ويب إذا تمكنت جهات تجميع الأطراف الثالثة من سرد وتنظيم جميع المطاعم والعناصر التي لديها ، أليس كذلك؟ بدون واجهة برمجة تطبيقات ، لن يكون هذا ممكنًا دون استخدام تقنيات غير فعالة لتصفية الويب.
واجهة برمجة التطبيقات هي الواجهة المسؤولة عن توصيل البيانات من قاعدة البيانات إلى التطبيق ، سواء كان موقع ويب أو تطبيق جوال ، او اي شيء اخر. أصبحت واجهات برمجة التطبيقات هي الطريقة القياسية للوصول إلى بيانات التطبيق وإيصالها عبر الويب ، وكل موقع أو خدمة رئيسية تعتمد على اتصال الطرف الثالث تستفيد بشكل كبير من خلال توفير واحد.
ما أنواع واجهات برمجة التطبيقات الموجودة؟
هناك عدة أنواع مختلفة من بروتوكولات واجهة برمجة التطبيقات ، لكن الثلاثة الأكثر شيوعًا هي SOAP (بروتوكول الوصول إلى الكائنات البسيطة) و REST (نقل حالة التمثيل) و RPC (الإجراء عن بُعد Call).
SOAP APIs
تم تقديم SOAP لأول مرة في أواخر التسعينيات وتمكين التطبيقات من مشاركة الموارد بطريقة بسيطة من خلال استخدام اتصالات الشبكة. تعتمد SOAP على البروتوكولات القياسية ، مثل HTTP و SMTP ، والتي تمكنها من الاستخدام في كل بيئة تقريبًا بسبب شعبية هذه البروتوكولات.
قوتها الرئيسية هي أنها مستخدمة ومثبتة على نطاق واسع. إذا لم يتم كسرها ، فلن تصلحها.
REST APIs
تم تقديم REST في عام 2000 بواسطة Roy Fielding. كان هدفه المباشر هو العمل كرد على العديد من المشكلات التي تم إنشاؤها من خلال اعتماد SOAP على نطاق واسع.
على غرار SOAP ، تعتمد REST على HTTP لنقل المعلومات بين التطبيقات. ومع ذلك ، يتمثل أحد الاختلافات الرئيسية التي تميزه عن SOAP ، والذي يتطلب نقل البيانات عبر تنسيق بيانات XML ، في أنه يدعم JSON. JSON هو تنسيق بيانات يوافق عليه الكثيرون أسهل في القراءة والكتابة. بالإضافة إلى ذلك ، يمكن لواجهات برمجة تطبيقات REST تخزين البيانات مؤقتًا ، مما يسمح بأداء أفضل بكثير.
تمثل حسابات REST الآن أكثر من 80٪ من جميع واجهات برمجة التطبيقات ، وفقًا لتقرير صدر عام 2017 عن طريق Cloud Elements.
<قوي>واجهات برمجة تطبيقات RPC
تأتي واجهات برمجة تطبيقات RPC بعدة نكهات ، ولكن كما تعلمنا من REST APIs ، JSON هو تنسيق بيانات شائع جدًا ، لذلك JSON-RPC هي الأكثر شعبية.
JSON-RPC هو البروتوكول الأنسب للحد الأدنى والمستخدمين الذين يعتمدون على سهولة واجهة برمجة تطبيقاتهم. نطاقه أضيق بكثير عند مقارنته بـ SOAP و REST ، كما أنه محدود للغاية في مرونته ومجموعة من الأوامر — ولكن بالنسبة لبعض المطورين ، يكون أقل من ذلك بكثير.
هناك أنواع أخرى من API تستند إلى RPC ، مثل كـ gRPC ، ولكن JSON-RPC هي العنصر الأساسي إذا كانت أولويتك هي بساطة التنفيذ.
من يستخدم واجهات برمجة التطبيقات؟
مطورو البرامج من أي نوع ، سواء كانت الواجهة الأمامية أو الخلفية ، يجب أن يكون لديك خبرة في العمل مع واجهات برمجة التطبيقات. فيما يتعلق بمواقع الويب أو خدمات الويب ، فإن جميع اللاعبين الأساسيين لديهم نوعًا من واجهة برمجة التطبيقات المتاحة - وأكثرها وضوحًا هو Windows.
نظرًا لأن Microsoft Windows هو نظام التشغيل الأكثر شعبية على هذا الكوكب ، فمن الطبيعي أن يحتاج مطورو التطبيقات إلى مجموعة من الإرشادات لكيفية التفاعل مع واجهة المستخدم الخاصة به. بدون الوصول إلى ويندوز API ، فإن برمجة تطبيق يعتمد بشكل كبير على التفاعل مع نظام التشغيل سيكون بمثابة صداع كبير.
هناك الآلاف من واجهات برمجة التطبيقات هناك ، وبعضها مجاني وبعضها دفع. فيما يلي بعض الأمثلة التي تستحق النظر فيها:
واجهات برمجة التطبيقات هي واحدة من الروابط الرئيسية وراء بعض من أكبر وأهم مواقع الويب والتطبيقات. على الرغم من أن المستخدم العادي قد لا يكون قادرًا على رؤية الفائدة التي توفرها واجهات برمجة التطبيقات ، إلا أنه يمثل هبةً للمطورين وخدمات الويب.