---
title: What is an API
localeTitle: ما هو API
---
## ما هو API؟

API لتقف على واجهة برمجة التطبيقات. تعمل واجهات برمجة التطبيقات على إخفاء التعقيد من المطورين ، وتمديد الأنظمة إلى الشركاء ، وتنظيم التعليمات البرمجية ، وجعل المكونات قابلة لإعادة الاستخدام. لا تقلق بشأن AP ، فكل ما عليك هو التركيز على I. I. API هي واجهة. كنت تستخدم واجهات طوال الوقت. نظام تشغيل الكمبيوتر هو واجهة. الأزرار في المصعد هي واجهة. دواسة الغاز في السيارة هي واجهة.

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

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

## لماذا تعتبر واجهات برمجة التطبيقات مفيدة؟

يعني الوصول إلى API بشكل عام أن يكون لديك إمكانية الوصول إلى كمية كبيرة من البيانات المنظمة. يوفر برنامج حماية البوابة البيانات إذن المطور (في شكل _مفتاح API_ ) للاستعلام عن خادم للحصول على معلومات. إذا كان الطلب ناجحًا ، يستجيب الخادم برسالة قد تبدو كالتالي:

 `{ 
  "coord": { 
    "lon":139, 
    "lat":35 
  }, 
  "wind": { 
    "speed":7.31, 
    "deg":187.002 
  }, 
  "rain": { 
    "3h":0 
  }, 
  "clouds": { 
    "all":92 
  } 
 } 
` 

المصدر: [Open Weather API](https://openweathermap.org/current)

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

**فيما يلي أهم 10 واجهات برمجة تطبيقات للمبتدئين**

1.  Dropbox: https://www.dropbox.com/developers
2.  خرائط Google: https://developers.google.com/maps/web/
3.  Twitter: https://dev.twitter.com/docs
4.  YouTube: https://developers.google.com/youtube/v3/getting-started
5.  Soundcloud: http://developers.soundcloud.com/docs/api/guide#playing
6.  شريط: https://stripe.com/docs/tutorials/checkout
7.  Instagram: http://instagram.com/developer/
8.  Twilio: https://www.twilio.com/docs
9.  الصرخة: http://www.yelp.com/developers/getting\_started
10.  Facebook: https://developers.facebook.com/docs/facebook-login/login-flow-for-web

#### معلومات اكثر:

*   [API لغير المبرمجين](https://schoolofdata.org/2013/11/18/web-apis-for-non-programmers/)
*   [ويكيبيديا](https://en.wikipedia.org/wiki/Application_programming_interface)
*   [متوسط](https://medium.com/girl-geeks/top-10-apis-for-beginners-4d3c43be9386)