API
ما هو API؟
كلمة API تعني Application Programming Interface. ببساطة هي قاعدة كلام جاهزة. طرف يسأل والطرف الآخر يجيب حسب القاعدة. أنت لا ترى قاعدة موقع الطقس. ترسل له عنواناً وهو يرجع حرارة اليوم نصاً أو JSON. الخريطة والدفع والترجمة تُسأل بالطريق نفسه. API ليست لغة. ليست Python وليست JavaScript. هي الطريق الذي اتفق عليه برنامجان. إذا تغير الطريق قد يتغير جواب السؤال القديم. لذلك يلزم النظر في التوثيق.
فيمَ يُستخدم API؟
API يجلب إلى برنامجك عملاً جاهزاً يقف في مكان آخر. لا تكتب كل شيء من الصفر.
- سؤال الطقس أو سعر الصرف
- ترك الدفع لخدمة أخرى
- إعطاء بيانات الموقع نفسه للهاتف
- كلام برنامجين من غير لمس القاعدة نفسها
ماذا يمكن فعله باستخدام API؟
بـ API ترسل سؤالاً وتقرأ الجواب. غالباً العنوان مسار واحد والطريقة GET أو POST. GET للقراءة. POST لإرسال شيء جديد. الجواب غالباً JSON: مفتاح وقيمة. تُظهر ذلك النص في صفحتك. API لا يرسم الصفحة ولا يضغط الزر. الباب الذي له مفتاح ليس مفتوحاً لكل أحد. إذا كتبت المفتاح داخل الصفحة فمن ينظر يأخذه. المفتاح يجب أن يبقى في الخادم.
هل تعلم API صعب؟
قراءة الطقس من عنوان مفتوح واحد سهلة. الصعوبة في القاعدة والمفتاح. إذا تغير العنوان بحرف ينكسر السؤال القديم. قد يوجد حد: بعد عدد معين في اليوم لا يأتي الجواب. الجواب قد يكون فارغاً أو خطأ أو متأخراً. لا تضعه في الصفحة بلا فحص. سؤال بمفتاح غيرك قد يأخذ مالاً أو بيانات. لا تبدأ قبل قراءة ما يسمح به التوثيق وما يمنعه.
المزايا والحدود
API يجلب لك عملاً جاهزاً ويخفي الداخل. هذه سرعة. ثمنها الاعتماد. إذا غيّر الطرف الآخر العنوان أو أغلق الحد يتوقف برنامجك أيضاً. إذا كتبت كل شيء بنفسك فاعتمادك أقل لكنك تكتب عملاً كثيراً. لموقع صغير الـ API الجاهز طريق مستقيم. أما المفتاح فلا تضعه أبداً حيث يراه الجميع.
أفكار أساسية
API باب. العنوان مكان السؤال. وJSON شكل الجواب المكتوب.
- البرنامج يسأل البرنامج والإنسان يضغط الزر
- GET يقرأ وPOST يرسل
- الجواب غالباً JSON
- المفتاح لا يُكتب في صفحة يراها الجميع
مثال قصير
هذا الشكل البسيط لعنوان يقرأ مستخدماً واحداً. الجواب يأتي عادة JSON.
GET /users/12
{
"id": 12,
"name": "Nibras"
}أسئلة شائعة
- هل API لغة برمجة؟ لا. هي قاعدة كلام برنامجين. Python وJavaScript قد تكونان اللغة التي تستدعيه.
- هل API والموقع الشيء نفسه؟ لا. الإنسان يقرأ الموقع. البرنامج يقرأ API. الاثنان قد يأتيان من البيانات نفسها.
- هل تكتب المفتاح في الصفحة؟ لا. من ينظر يأخذه. المفتاح يجب أن يبقى في الخادم.