"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > فهم واجهات برمجة التطبيقات: كيفية تواصل التطبيقات:

فهم واجهات برمجة التطبيقات: كيفية تواصل التطبيقات:

تم النشر بتاريخ 2024-11-07
تصفح:585

Understanding APIs: How Applications Communicate:

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

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

  1. نقاط النهاية:

    • هذه هي عناوين URL المحددة التي تعرضها واجهة برمجة التطبيقات للسماح للتطبيقات الخارجية بالتفاعل معها. على سبيل المثال، إذا كنت تريد جلب البيانات من واجهة برمجة تطبيقات الطقس، فيمكنك إرسال طلب إلى نقطة نهاية محددة مثل https://api.weather.com/v1/forecast.
  2. الطلبات والردود:

    • الطلب: يرسل التطبيق طلبًا إلى نقطة نهاية واجهة برمجة التطبيقات، مع تحديد البيانات أو الإجراء الذي يريده.
    • الاستجابة: ترسل واجهة برمجة التطبيقات (API) استجابة، والتي يمكن أن تتضمن بيانات (غالبًا بتنسيق JSON أو XML)، ورمز الحالة، ورسالة.
      • أمثلة لرموز الحالة:
      • 200 موافق: تم الطلب بنجاح.
      • لم يتم العثور على 404: نقطة النهاية غير موجودة.
      • 500 خطأ داخلي في الخادم: حدثت مشكلة من جانب الخادم.
  3. طرق HTTP:
    تستخدم واجهات برمجة التطبيقات عادةً أساليب HTTP محددة للطلبات، مثل:

    • الحصول على: استرداد البيانات.
    • POST: إرسال البيانات لإنشاء مورد أو تحديثه.
    • PUT: تحديث أو استبدال أحد الموارد.
    • حذف: إزالة مورد.
  4. مفتاح واجهة برمجة التطبيقات والمصادقة:
    تتطلب بعض واجهات برمجة التطبيقات من المستخدمين مصادقة أنفسهم قبل تقديم الطلبات. ويتم ذلك من خلال:

    • مفاتيح واجهة برمجة التطبيقات: معرف فريد يستخدم لمصادقة مستخدم أو تطبيق.
    • OAuth: بروتوكول أكثر تقدمًا يسمح للمستخدمين بالمصادقة عبر خدمات الجهات الخارجية دون مشاركة بيانات الاعتماد الخاصة بهم.
  5. تحديد السعر:
    تحدد العديد من واجهات برمجة التطبيقات (APIs) عدد الطلبات التي يمكن للتطبيق تقديمها خلال إطار زمني معين. وذلك لضمان عدم إرهاق الخادم بعدد كبير جدًا من الطلبات من مصدر واحد.

  6. واجهات برمجة تطبيقات RESTful:
    يعد نقل الحالة التمثيلية (REST) ​​بنية شائعة لبناء واجهات برمجة التطبيقات. واجهات برمجة تطبيقات RESTful عديمة الحالة وتستخدم أساليب HTTP القياسية. تتضمن المبادئ الأساسية لـ REST ما يلي:

    • انعدام الجنسية: يجب أن يحتوي كل طلب من العميل إلى الخادم على جميع المعلومات اللازمة لفهم الطلب ومعالجته.
    • واجهة موحدة: يجب الوصول إلى الموارد من خلال بنية URL موحدة.
    • تمثيل الموارد: يتم تمثيل الموارد عادةً باستخدام تنسيقات مثل JSON أو XML.
  7. واجهة برمجة تطبيقات SOAP :
    SOAP (بروتوكول الوصول إلى الكائنات البسيطة) هو بروتوكول آخر لبناء واجهات برمجة التطبيقات، وهو أكثر تنظيماً ويتضمن نظام مراسلة موحد. إنه أكثر أمانًا ومثاليًا للتطبيقات التي يكون الأمان فيها أولوية عالية (مثل الخدمات المصرفية).

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

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

  1. يرسل تطبيقك طلب GET إلى نقطة نهاية واجهة برمجة التطبيقات:
   https://api.weather.com/v1/city/newyork
  1. يقوم الخادم بمعالجة الطلب ويرسل استجابة بتنسيق JSON:
   {
     "city": "New York",
     "temperature": "15°C",
     "description": "Clear sky"
   }

يمكن لتطبيقك الآن عرض هذه المعلومات للمستخدمين.

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

  1. واجهات برمجة تطبيقات الويب: هذه هي الأكثر شيوعًا، وتستخدم للتفاعل مع الخوادم البعيدة عبر الويب، مثل واجهات برمجة تطبيقات REST أو SOAP.
  2. واجهات برمجة تطبيقات نظام التشغيل: واجهات برمجة التطبيقات التي تسمح للبرنامج بالتفاعل مع نظام التشغيل.
  3. واجهات برمجة التطبيقات لقاعدة البيانات: تتيح التفاعل مع قواعد البيانات، مما يسمح للتطبيقات بقراءة أو تعديل البيانات المخزنة داخل قاعدة البيانات.
  4. واجهات برمجة تطبيقات المكتبة أو الإطار: هذه هي واجهات برمجة التطبيقات التي توفرها المكتبات أو أطر العمل، مما يسمح للمطورين بإعادة استخدام التعليمات البرمجية دون إعادة اختراع العجلة.

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

بيان الافراج تم نشر هذه المقالة على: https://dev.to/kamlesh_gupta_539c974fb0d/understanding-apis-how-applications-communicate-30f9?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3