يوضح HDG: ما المقصود بواجهة برمجة التطبيقات؟

على الإنترنت المليء بالمختصرات المربكة وغير المألوفة(confusing and unfamiliar acronyms) ، قد يكون من السهل الخلط. ربما تكون سمعت عن اختصار ويب واحد ولكنك لم تشعر أبدًا بالإلهام للنظر فيه وهو "API".

ما هي API ؟ API هو اختصار لواجهة برمجة التطبيقات( application programming interface) ، وهو اسم لمجموعة من الإجراءات والبروتوكولات التي تجعل عملية إنشاء تطبيقات البرامج أسهل بكثير.

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

ومع ذلك ، فإن واجهات برمجة التطبيقات(APIs) معقدة وتتطلب أكثر من تلخيص موجز. في هذه المقالة ، دعنا نتعرف على كيفية عمل واجهات برمجة التطبيقات(APIs) والمواقع والخدمات التي تستخدمها.

ما هي API وكيف تعمل؟(What Is An API and How Does It Work?)

الآن وقد أثبتنا أن API عبارة عن مجموعة من الإجراءات الروتينية التي تشير إلى البرامج في الاتجاه الصحيح ، كيف يعمل كل هذا بالضبط؟

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

عندما تبحث عن مطعم أو عنصر طعام على أحد هذه التطبيقات ، تتلقى نتائج ذات صلة بناءً على كلماتك الرئيسية وموقعك. عند تحديد نتيجة ، يتم تقديمك بخيارات عناصر الطعام وأوقات التسليم والمزيد من الخيارات الخاصة بالمطعم.

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

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

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

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

ما أنواع واجهات برمجة التطبيقات الموجودة؟(What Types Of APIs Are There?)

هناك عدة أنواع مختلفة من بروتوكولات API ، ولكن الأنواع الثلاثة الأكثر شيوعًا هي SOAP ( بروتوكول الوصول إلى الكائنات البسيط(Simple Object Access Protocol) ) و REST ( نقل الحالة التمثيلية(Representational State Transfer) ) و RPC ( استدعاء الإجراء عن بُعد(Remote Procedure Call) ).

واجهات برمجة تطبيقات SOAP(SOAP APIs)

تم تقديم SOAP(SOAP) لأول مرة في أواخر التسعينيات ومكّن التطبيقات من مشاركة الموارد بطريقة بسيطة من خلال استخدام اتصالات الشبكة. يعتمد SOAP(SOAP) على البروتوكولات القياسية ، مثل HTTP و SMTP ، والتي تمكنه من استخدامه عبر كل بيئة تقريبًا نظرًا لشعبية هذه البروتوكولات.

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

واجهات برمجة تطبيقات REST(REST APIs)

تم تقديم REST في عام 2000 بواسطة Roy Fielding . كان هدفها المباشر هو التصرف كرد فعل للعديد من القضايا التي نشأت عن التبني الواسع النطاق لـ SOAP .

على غرار SOAP ، يعتمد REST على (REST)HTTP لنقل المعلومات بين التطبيقات. ومع ذلك ، فإن أحد الاختلافات الرئيسية التي تميزه عن SOAP ، والذي يتطلب نقل البيانات عبر تنسيق بيانات XML ، هو أنه يدعم JSON . JSON هو تنسيق بيانات يتفق الكثيرون على أنه أسهل في القراءة والكتابة. بالإضافة إلى ذلك ، يمكن لواجهات برمجة تطبيقات REST(REST APIs) تخزين البيانات مؤقتًا ، مما يسمح بأداء أفضل بكثير.

تمثل REST الآن أكثر من 80٪ من جميع واجهات برمجة التطبيقات(APIs) ، وفقًا لتقرير عام 2017 الصادر عن Cloud Elements .

واجهات برمجة تطبيقات RPC(RPC APIs)

تأتي واجهات برمجة تطبيقات RPC(RPC APIs) في العديد من النكهات ، ولكن كما تعلمنا من REST APIs ، فإن JSON هو تنسيق بيانات شائع جدًا ، لذا فإن JSON-RPC هو الأكثر شيوعًا.

JSON-RPC هو بروتوكول يناسب الحد الأدنى والمستخدمين الذين يعتمدون على وضوح واجهة برمجة التطبيقات(API) الخاصة بهم . إنه أضيق نطاقًا عند مقارنته بـ SOAP و REST ، وهو محدود جدًا في مرونته ومجموعة من الأوامر - ولكن بالنسبة لبعض المطورين ، يكون الأقل هو الأكثر.

هناك أنواع واجهة برمجة تطبيقات(API) أخرى مستندة إلى RPC ، مثل gRPC ، ولكن JSON-RPC هو الانتقال إذا كانت أولويتك هي بساطة التنفيذ.

من يستخدم واجهات برمجة التطبيقات؟(Who Uses APIs?)

يجب أن يتمتع المطورون من أي نوع ، سواء أكانوا واجهة أم خلفية ، بخبرة في العمل مع واجهات برمجة التطبيقات(APIs) . فيما يتعلق بالمواقع الإلكترونية أو خدمات الويب ، فإن جميع اللاعبين الرئيسيين لديهم نوعًا ما من واجهة برمجة التطبيقات(API) المتاحة - وأكثرها وضوحًا هو Windows .

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

هناك الآلاف من واجهات برمجة التطبيقات(APIs) ، بعضها مجاني وبعضها مدفوع. فيما يلي بعض الأمثلة التي تستحق النظر فيها:

  • واجهة برمجة تطبيقات Google Play Developer(Google Play Developer API)(Google Play Developer API) : مهام النشر وإدارة التطبيقات المتعلقة بـ Google Play
  • Skyscanner APIs : واجهات برمجة التطبيقات ( (:)API(APIs) ) القائمة على السفروالمتعلقة بالرحلات الجوية واستئجار السيارات والمزيد
  • Twilio API : يسمح(Allows) بإرسال واستقبال المكالمات الهاتفية برمجيًا
  • واجهة برمجة تطبيقات Discord(Discord API)(Discord API) : تتيح للمستخدمين إنشاء الروبوتات التي تجعل من Discord(Discord) خدمة المراسلة كما هي عليه اليوم
  • IPinfo API : عنوان (: )IP(On-the-fly IP) الفوري وبيانات الموقع الجغرافي لموقعك على الويب أو تطبيقك

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



About the author

أنا مبرمج كمبيوتر منذ أكثر من 15 عامًا. تكمن مهاراتي في تطوير التطبيقات البرمجية وصيانتها ، فضلاً عن تقديم الدعم الفني لتلك التطبيقات. لقد قمت أيضًا بتدريس برمجة الكمبيوتر لطلاب المدارس الثانوية ، وأنا حاليًا مدرس محترف.



Related posts