تتكون معظم التطبيقات الحديثة (تطبيقات الويب ذات الصفحة الواحدة، وتطبيقات الهاتف المحمول، وما إلى ذلك) من جزأين:
لتوصيل الواجهة الأمامية والخلفية، يتم استخدام واجهة برمجة تطبيقات الويب (REST وGraphQL وما إلى ذلك) بشكل عام، الأمر الذي يتطلب تطوير عميل API على الجانب الأمامي وخادم API على الجانب الخلفي.
لدينا البنية التالية:
بفضل البنية التي لا تحتوي على واجهة برمجة التطبيقات (API)، يمكن للواجهة الأمامية التواصل مع الواجهة الخلفية دون الحاجة إلى إنشاء واجهة برمجة تطبيقات ويب. تكشف الواجهة الخلفية عن الوظائف (أو الأساليب) التي يمكن للواجهة الأمامية الاتصال بها مباشرة، ولم يعد المطور بحاجة إلى القلق بشأن مسارات URL أو أساليب HTTP أو رموز الحالة.
بالطبع، نظرًا لأن الواجهة الأمامية والخلفية تعملان في بيئتين منفصلتين، فمن الضروري أن يكون هناك عميل API وخادم API بينهما، لكنهما لم يعودا ضمن مسؤولية المطور. تتم معالجة طبقات API بواسطة مكتبة أو إطار عمل.
لذا تبدو البنية بدون واجهة برمجة التطبيقات (API) كما يلي:
لا تؤدي إزالة طبقات واجهة برمجة التطبيقات (API) إلى تقليل كمية التعليمات البرمجية التي يجب على المطور كتابتها فحسب، بل تعمل أيضًا على تحسين الجودة عن طريق تقليل تشتت التعليمات البرمجية وازدواجية المعرفة.
يسمح عدد متزايد من المكتبات والأطر بتنفيذ بنية أقل من واجهة برمجة التطبيقات (API).
منتج | نوع المنتج | نوع واجهة برمجة التطبيقات | في الوقت الحالى | دعم المحمول | منذ |
---|---|---|---|---|---|
نيزك | نطاق | إجرائية | نعم | نعم | 2012 |
طبقة | مكتبة | كائن المنحى | على خارطة الطريق | نعم | 2019 |
بليتز.js | نطاق | إجرائية | لا | على خارطة الطريق | 2020 |
tRPC | مكتبة | إجرائية | في مرحلة تجريبية | نعم | 2021 |
تلفونك | مكتبة | إجرائية | على خارطة الطريق | نعم | 2021 |
المساهمات هي موضع ترحيب.
قبل المساهمة، يرجى قراءة قواعد السلوك والبحث في أداة تعقب المشكلات لمعرفة ما إذا كانت مشكلتك قد تمت مناقشتها من قبل.
للمساهمة، قم بتفرع هذا المستودع، والتزم بالتغييرات، وأرسل طلب سحب.
معهد ماساتشوستس للتكنولوجيا