DEV Community

Saad Suaid
Saad Suaid

Posted on

What is an API? لغة التخاطب بين البرامج

رسم توضيحي لمفهوم API يظهر خادماً وحاسوباً متصلين بكابل بيانات لنقل المعلومات، مع نص: What is an API? لغة التخاطب بين البرامج.
الـ API من أكثر المفاهيم تداولا في عالم البرمجيات ولكنه يربك الكثيرين في البداية رغم بساطته الجوهرية.

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

ما هو الـ API؟

كل تطبيق له مستخدم نهائي يتفاعل معه عبر واجهة رسومية (GUI) مليئة بالأزرار والنصوص والصور. لكن عندما يريد برنامج أن يتحدث مع برنامج آخر لا يمكنه "الضغط على الأزرار" مثل البشر! وهنا يأتي دور الـ API.

الـ API (Application Programming Interface) هو لغة التخاطب الرسمية بين التطبيقات أو العقد الذي يحدد كيف يمكن لبرنامج ما أن يطلب خدمة أو بيانات من برنامج آخر.

كيف يعمل؟

لنأخذ مثال زر "إعجاب" في تطبيق تواصل اجتماعي:

  1. المستخدم: يضغط على زر Like في الواجهة الرسومية للتطبيق (GUI).
  2. الطلب: الزر مرتبط بنقطة نهاية برمجية (API Endpoint) ترسل طلب HTTP إلى الخادم، يبدو شيئا كهذا: POST /posts/20/likes { user_id: 5 }
  3. المعالجة: الخادم (Server) يستقبل الطلب ويفسره وفق منطق مبرمج مسبقا ويسجل الإعجاب في قاعدة البيانات.
  4. الرد: الخادم يعيد استجابة (Response) إلى التطبيق تؤكد نجاح العملية.
  5. التحديث: يتم تحديث واجهة المستخدم فيتغير لون الزر أو عدد الإعجابات.

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

الباب الرسمي للبيانات

لكي يحصل تطبيق على بيانات من خدمة أخرى هناك طريقان شائعان في عالم البرمجيات:

  • الطريق الرسمي: استخدام الـ API الذي توفره الخدمة (مثل ChatGPT API أو Google Maps API) وفق توثيق واضح ومفاتيح وصول (API Keys).
  • الطريق الملتوي: مثل Scraping أو محاولة الالتفاف للحصول على البيانات بطرق غير رسمية. هذا غالبا مخالف للشروط وغير مستقر وقد يكون غير قانوني.

وجود API رسمي يعني أن الشركة قررت فتح جزء من وظائفها وبياناتها للمطورين بشكل آمن وقابل للاستخدام على المدى الطويل.

مثال يومي: تطبيق الطقس ☀️

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

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

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

لماذا يعتبر الـ API مهماً للمطورين؟

  • التكامل: يمكن التطبيقات من التكامل مع خدمات جاهزة مثل الدفع (Stripe) والخرائط والذكاء الاصطناعي وغيرها.
  • توفير الوقت والتكلفة: بدلا من بناء كل شيء من الصفر، تستهلك خدمة عبر API وتبني القيمة المضافة فوقها.
  • الأتمتة: يفتح الباب للأتمتة والتوسع مثل نشر المقالات أو إدارة البيانات برمجيا (كما هو الحال مع dev.to API نفسه).

في النهاية، الـ API هو الجسر الذي يربط بين مكونات عالم البرمجيات ويجعل الأنظمة المختلفة قادرة على العمل معا دون إعادة اختراع العجلة في كل مرة.

Next Steps 🚀

إذا فهمت الآن فكرة الـ API وتريد الانتقال للجانب العملي فإليك خطوات مقترحة:

  1. جرب بناء أول REST API لك باستخدام Go في هذا المقال:
    Build Your First REST API with Go

  2. تعرف على GraphQL وكيف يختلف عن REST في هذا المقال:
    An introduction to GraphQL and how to use GraphQL APIs

ابدأ بمقال REST إن كنت تفضل الأسلوب التقليدي أو انتقل مباشرة إلى GraphQL لو كنت مهتما بالمرونة العالية في جلب البيانات.

Top comments (0)