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

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

Source: Dev.to

ما هو الـ API؟ ## كيف يعمل؟ ## الباب الرسمي للبيانات ## مثال يومي: تطبيق الطقس ☀️ ## لماذا يعتبر الـ API مهماً للمطورين؟ ## Next Steps 🚀 الـ API من أكثر المفاهيم تداولا في عالم البرمجيات ولكنه يربك الكثيرين في البداية رغم بساطته الجوهرية. في هذا المقال ستتعرف على الفكرة بشكل مبسط مع ربطها بأمثلة من التطبيقات التي تستخدمها يوميا. كل تطبيق له مستخدم نهائي يتفاعل معه عبر واجهة رسومية (GUI) مليئة بالأزرار والنصوص والصور. لكن عندما يريد برنامج أن يتحدث مع برنامج آخر لا يمكنه "الضغط على الأزرار" مثل البشر! وهنا يأتي دور الـ API. الـ API (Application Programming Interface) هو لغة التخاطب الرسمية بين التطبيقات أو العقد الذي يحدد كيف يمكن لبرنامج ما أن يطلب خدمة أو بيانات من برنامج آخر. لنأخذ مثال زر "إعجاب" في تطبيق تواصل اجتماعي: بهذا الشكل يكون المستخدم قد تعامل مع زر بسيط، بينما في الخلفية جرى تواصل منظم بين الواجهة والخادم عبر API. لكي يحصل تطبيق على بيانات من خدمة أخرى هناك طريقان شائعان في عالم البرمجيات: وجود API رسمي يعني أن الشركة قررت فتح جزء من وظائفها وبياناتها للمطورين بشكل آمن وقابل للاستخدام على المدى الطويل. عندما تفتح تطبيق الطقس على هاتفك، التطبيق نفسه لا يملك أقمارا صناعية أو محطات رصد جوي. ما يحدث عادة هو أن التطبيق يرسل موقعك الجغرافي عبر API إلى خدمة طقس متخصصة ويستقبل منها بيانات الطقس بصيغة JSON وثم يعرضها لك في واجهة مبسطة. هذا يسمح لعشرات التطبيقات المختلفة بأن تعتمد على نفس خدمة الطقس بدلا من إعادة بناء منظومة رصد من الصفر. في النهاية، الـ API هو الجسر الذي يربط بين مكونات عالم البرمجيات ويجعل الأنظمة المختلفة قادرة على العمل معا دون إعادة اختراع العجلة في كل مرة. إذا فهمت الآن فكرة الـ API وتريد الانتقال للجانب العملي فإليك خطوات مقترحة: جرب بناء أول REST API لك باستخدام Go في هذا المقال: Build Your First REST API with Go تعرف على GraphQL وكيف يختلف عن REST في هذا المقال: An introduction to GraphQL and how to use GraphQL APIs ابدأ بمقال REST إن كنت تفضل الأسلوب التقليدي أو انتقل مباشرة إلى GraphQL لو كنت مهتما بالمرونة العالية في جلب البيانات. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse - المستخدم: يضغط على زر Like في الواجهة الرسومية للتطبيق (GUI). - الطلب: الزر مرتبط بنقطة نهاية برمجية (API Endpoint) ترسل طلب HTTP إلى الخادم، يبدو شيئا كهذا: POST /posts/20/likes { user_id: 5 } - المعالجة: الخادم (Server) يستقبل الطلب ويفسره وفق منطق مبرمج مسبقا ويسجل الإعجاب في قاعدة البيانات. - الرد: الخادم يعيد استجابة (Response) إلى التطبيق تؤكد نجاح العملية. - التحديث: يتم تحديث واجهة المستخدم فيتغير لون الزر أو عدد الإعجابات. - ✅ الطريق الرسمي: استخدام الـ API الذي توفره الخدمة (مثل ChatGPT API أو Google Maps API) وفق توثيق واضح ومفاتيح وصول (API Keys). - ❌ الطريق الملتوي: مثل Scraping أو محاولة الالتفاف للحصول على البيانات بطرق غير رسمية. هذا غالبا مخالف للشروط وغير مستقر وقد يكون غير قانوني. - التكامل: يمكن التطبيقات من التكامل مع خدمات جاهزة مثل الدفع (Stripe) والخرائط والذكاء الاصطناعي وغيرها. - توفير الوقت والتكلفة: بدلا من بناء كل شيء من الصفر، تستهلك خدمة عبر API وتبني القيمة المضافة فوقها. - الأتمتة: يفتح الباب للأتمتة والتوسع مثل نشر المقالات أو إدارة البيانات برمجيا (كما هو الحال مع dev.to API نفسه). - جرب بناء أول REST API لك باستخدام Go في هذا المقال: Build Your First REST API with Go - تعرف على GraphQL وكيف يختلف عن REST في هذا المقال: An introduction to GraphQL and how to use GraphQL APIs