-

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

(اخر تعديل 2024-09-09 11:26:08 )

API هو اختصار Application Programming Interface، بمعنى واجهة برمجة التطبيقات، وهو وسيط برمجي يسمح لتطبيقين بالتحدث مع بعضهما البعض. في كل مرة تستخدم فيها تطبيقاً مثل Facebook، أو ترسل رسالة فورية، أو تتحقق من الطقس على هاتفك، فأنت تستخدم واجهة برمجة تطبيقات.

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

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

مثال على واجهة برمجة التطبيقات API.

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

هذا هو المكان الذي يأتي فيه النادل أو API. النادل هو المُراسل – أو API – الذي يأخذ طلبك أو طلبك ويخبر المطبخ – النظام – بما يجب فعله. ثم يقوم النادل بتسليم الرد لك؛ في هذه الحالة هو الطعام.

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

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

ومع ذلك، ماذا لو كنت لا تستخدم موقع شركة الطيران – قناة لديها وصول مباشر إلى المعلومات؟ ماذا لو كنت تستخدم خدمة سفر عبر الإنترنت، مثل Kayak أو Expedia ، والتي تجمع المعلومات من عدد من قواعد بيانات شركات الطيران؟

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

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

إقرأ أيضاً… ما هي البرمجة كائنية التوجيه أو البرمجة الشيئية OOP؟

ما توفره API أيضاً هو طبقة من الأمان.

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

أصبحت واجهات برمجة التطبيقات (API) قيّمة للغاية لدرجة أنها تشكل جزءاً كبيراً من إيرادات العديد من الأنشطة التجارية. الشركات الكبرى مثل Google و eBay و Salesforce.com و Amazon و Expedia ليست سوى عدد قليل من الشركات التي تكسب المال من واجهات برمجة التطبيقات الخاصة بها. ما يشير إليه “اقتصاد API” هو سوق واجهات برمجة التطبيقات.

واجهة برمجة التطبيقات الحديثة.

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

  • تلتزم واجهات برمجة التطبيقات الحديثة بالمعايير (عادةً HTTP و REST)​​، وهي صديقة للمطورين ويمكن الوصول إليها بسهولة وفهمها على نطاق واسع.
  • يتم التعامل معها كمنتجات أكثر من كونها كود برمجس. تم تصميمها للاستهلاك لجمهور محدد (مثل مطوري الأجهزة المحمولة)، وهي موثقة ويتم إصدارها بطريقة يمكن للمستخدمين الحصول على توقعات معينة بشأن صيانتها ودورة حياتها.
  • نظراً لأنها أكثر توحيداً، فإن لديها نظاماً أقوى بكثير للأمن والحوكمة، بالإضافة إلى مراقبته وإدارته من أجل الأداء.
  • مثل أي جزء آخر من البرامج المنتجة، فإن API الحديثة لها دورة حياة تطوير البرمجيات الخاصة بها (SDLC) للتصميم والاختبار والبناء والإدارة وإصدار الإصدارات.