تنبيه

الرجاء تحديد نص من المقال أولاً.

محتوى محمي

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

Ahmed Bouchefra

الرئيسية
Ahmed Bouchefra

أحمد بوشفرة

Software Engineer & Tech Author

ابدأ هنا
ابدأ هنا
المكتبة
المكتبة
أكاديمية بايثون
أكاديمية بايثون
تطبيق اختبارات البرمجة
تطبيق اختبارات البرمجة
دورات يوديمي
دورات يوديمي
المسارات
المسارات
الملخصات
الملخصات
الأدوات
الأدوات
اشترك
اشترك
كتب فريق 10xdevblog
كتب فريق 10xdevblog
الكاتب: أحمد بوشفرة

ما هو الـ API؟ شرح مبسط مع أمثلة عملية

اضغط على زر PDF لتحميل المقال كملف للقراءة لاحقاً

ملاحظة: هذا المقال بقلم أحمد بوشفرة. الآراء الواردة تعبر عن الكاتب.

أحمد بوشفرة: مبرمج ومؤلف تقني، أساعد المطورين على بناء تطبيقات ويب حديثة وسريعة.

يمكنك التواصل مع الكاتب لطلب خدمات برمجية عبر:

يمكنك أيضاً نشر مقالك هنا والترويج لخدماتك أمام جمهور من المبرمجين. تواصل معنا

لخص هذا المقال باستخدام ChatGPT

انسخ الأمر أدناه والصقه في ChatGPT للحصول على ملخص سريع للمقال:

لخص لي هذا المقال في نقاط رئيسية: https://www.ahmedbouchefra.com/api-simple-explanation تم النسخ!
فتح ChatGPT

قصة قصيرة لفهم الفكرة

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

ببساطة، النادل أخذ مني طلبًا وعاد لي بنتيجة.

والآن، سؤال لك:

  • هل الأشخاص العاملون في مطبخ المطعم يعرفونني؟ الإجابة هي لا.
  • وهل النادل هو الذي أعد الطعام؟ الإجابة هي لا أيضًا.

كان النادل هو الوسيط بيني وبين المطبخ؛ أخذ مني الطلب، أعطاه للمطبخ، وعاد لي بنتيجة. هذا ببساطة هو مفهوم واجهة برمجة التطبيقات (API)، وهو من أبسط وأهم المفاهيم التي يجب عليك كمبرمج أن تعرفها.

ما هو الـ API (واجهة برمجة التطبيقات)؟

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

يقوم الـ API بنقل الرسائل بين نظامين مختلفين بطريقة يفهمها كلاهما.

أمثلة من حياتنا اليومية

مثال ١: تطبيق الطقس

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

مثال ٢: التسجيل باستخدام جوجل

ألم يحدث أن فتحت موقعًا معينًا وظهر لك زر يقول “التسجيل باستخدام جوجل”؟ عندما تضغط على هذا الزر، ما الذي يحدث خلف الكواليس؟

  1. الموقع الذي تستخدمه لا يملك بياناتك، ولكنه يريد التأكد من أنك شخص حقيقي.
  2. لذلك، يتواصل مع API تابع لجوجل ويخبره بأنك تريد التسجيل.
  3. تتأكد جوجل من موافقتك، ثم تعود بالإجابة التي تحتوي على بريدك الإلكتروني والمعلومات الأساسية.
  4. يسجلك الموقع مباشرة دون أن تحتاج إلى كتابة أي شيء.

كل هذا يحدث باستخدام الـ API. لو لم يكن هناك API، لما حدث أي من هذا.

مثال ٣: خرائط جوجل

عندما تفتح خرائط جوجل وتكتب كلمة “مطاعم”، تظهر لك كل المطاعم القريبة منك. كيف؟ بنفس الطريقة، يرسل التطبيق طلبًا إلى API تابع لخرائط جوجل، يسأله عن موقعك الحالي ويعود بالنتائج المناسبة لك.

الـ API من منظور المبرمج

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

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

GET /weather?city=Cairo

فيعود لك بإجابة تكون على هيئة ملف JSON، وهي اللغة الشائعة التي تتواصل بها التطبيقات مع الـ API. قد تبدو الإجابة هكذا:

{
  "city": "Cairo",
  "temperature": 33,
  "condition": "Sunny"
}

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

عمليات REST API الأساسية

معظم واجهات برمجة التطبيقات تعمل بما يسمى REST API، وهي تتكون من أربع عمليات أساسية:

  • GET: للحصول على بيانات من الـ API.
  • POST: لإضافة بيانات جديدة.
  • PUT: لتعديل بيانات موجودة.
  • DELETE: لحذف بيانات.

أنت تعطيه أمرًا أو طلبًا بإحدى هذه العمليات، وهو يعود لك بالإجابة.

مثال عملي آخر: تطبيق أخبار

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

ببساطة، يوجد API خاص بالأخبار (News). يمكنك أن ترسل له طلبًا مثل:

GET /news?country=Egypt&category=technology

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

ما هي نقطة النهاية (Endpoint)؟

أخيرًا، سنتحدث عن شيء يسمى نقطة النهاية (Endpoint). عندما تتواصل مع الـ API، فإنك تحدد له النقطة النهائية التي يجب أن يصل إليها. في المثال السابق، كانت نقطة النهاية هي الأخبار (/news) مع تحديد البلد (Egypt) والفئة (technology). فكلمة Endpoint تعني الوجهة المحددة داخل الـ API التي تريدها ليعود لك بالإجابة الصحيحة.

خلاصة

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

من المهم جدًا أن تتعلم الـ API بشكل جيد، لأن أي تطبيق أو موقع ستعمل عليه لن يخلو من استخدامه. والأمر بسيط وممتع حقًا، حيث تجلب معلومات من الإنترنت لتعرضها في تطبيقك أو موقعك.

أتمنى أن يكون هذا المقال مفيدًا لك، وأن تكون قد فهمت مفهوم الـ API بوضوح.

هل لديك سؤال أو استفسار؟ اترك تعليقاً بالأسفل:

احصل على المحتوى الجديد فور نشره ⚡

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

عرض كل بدائل الاشتراك

احصل على موارد مجانية! 📚

اشترك في القائمة البريدية واحصل على كتب ومصادر تعليمية مجانية

تنبيه هام:

للاشتراك بنجاح، يرجى فتح الصفحة في متصفح خارجي (مثل Chrome أو Safari) وليس متصفح التطبيق المدمج.

📚 المكتبة المجانية

حمّل كتب وأدلة PDF مجانية في البرمجة وتطوير الويب

تصفح المكتبة

شارك المقال

ما هو الـ API؟ شرح مبسط مع أمثلة عملية
0:00 / 0:00