واجهة برمجة التطبيقات API
واجهة برمجة التطبيقات هي طريقة متفق عليها يطلب بها برنامج من برنامج آخر معلومة أو تنفيذ عمل، فلا يحتاج أي منهما أن يعرف كيف بُني الآخر من الداخل.
يُعرف أيضًا بـ API الواجهة البرمجية خدمة ويب
التعريف
واجهة برمجة التطبيقات، أو API، هي طريقة يطلب بها برنامج شيئًا من برنامج آخر. والطرفان يتفقان على الأسئلة والأجوبة مسبقًا، فيسأل البرنامج الأول بالشكل الذي ينتظره الثاني تمامًا. ويعود الجواب بالشكل الموعود، ما يعني أن أي طرف لا يحتاج أن يعرف كيف بُني الطرف الآخر من الداخل. وهذا وحده هو ما يجعل الفكرة كلها تعمل.
وأنت تستعمل هذه الواجهات كل يوم دون أن ترى واحدة منها. فحين يعرض موقع متجر سعر الشحن في اللحظة نفسها، يكون قد سأل حاسوب شركة الشحن هذا السؤال. والأمر نفسه يحدث حين تدفع بالبطاقة، لأن جهاز الكاشير يسأل البنك إن كانت العملية قد تمت. وزر الدخول بحساب جوجل يعمل بالطريقة نفسها، ما دامت جوجل هي التي تجيب لا الموقع. وكل واحدة من هذه العمليات نداء لواجهة برمجية، وأنت لا ترى شيئًا من ذلك يحدث، لأن كل ما تراه هو السعر وقد ظهر أمامك.
والقيمة كلها في الوعد، لأن شكل السؤال والجواب ثابت لا يتغير. فتستطيع شركة الشحن أن تعيد بناء نظامها كله العام المقبل ويبقى متجرك يعمل، ولهذا يسمي المبرمجون الواجهة عقدًا. وريست هو ببساطة الأسلوب الأشهر في كتابة هذا العقد.
وهذا هو الجزء الذي لا يذكره المورّد أولًا، وهو الجزء الذي يكلفك مالًا. فمعظم الواجهات تعدّ عليك كل طلب، وكثير منها إما يحاسبك على كل طلب أو يتوقف عن الرد بعد حد معيّن. والحساب يكبر أسرع مما تتوقع، لأن شاشة تحدّث نفسها كل خمس ثوانٍ ترسل وحدها نحو سبعة عشر ألف طلب في اليوم. فاسأل شيئين قبل أن توقّع: كم طلبًا يشمله السعر، وكم من الوقت تُخطَر قبل تغيير الواجهة. ونحن في لينكي سوفت لنظم المعلومات نسأل الاثنين في بداية أي مشروع تطبيق ويب، لأن الإجابتين تغيّران التصميم كله.
والواجهات تعمل في الاتجاه الآخر أيضًا، لأن نظامك أنت يستطيع أن يقدّم واجهته الخاصة للآخرين. فيقرأ برنامج المحاسب والمخزن وتطبيق الهاتف الأرقام نفسها بدل أن يحتفظ كل واحد منها بنسخة. وهكذا يصبح لدى الشركة رقم واحد لا ثلاثة أرقام متضاربة. وحين تبني لينكي سوفت نظامًا تبني الواجهة معه، حتى لا يتغذى تطبيق الهاتف والموقع من بيانات مختلفة.
أسئلة حول واجهة برمجة التطبيقات
ما هي واجهة برمجة التطبيقات بكلمات بسيطة؟
هل الواجهة البرمجية هي نفسها الموقع الإلكتروني؟
هل الواجهات البرمجية مدفوعة؟
ماذا يحدث إذا غيّرت الشركة الأخرى واجهتها؟
هل يحتاج نظامي أنا إلى واجهة برمجية؟
ما زلت غير متأكد كيف ينطبق هذا على مشروعك؟
أخبرنا بما تبنيه وسنجيبك بلغة واضحة.