هل RESTful API برنامج كسول أم برنامج يبدأ حالة راحة؟ إذا كنت مهتمًا بالويب وكيفية عمل التقنيات المختلفة التي تدعمه ، فسترغب في التعرف على RESTful API.
ما هي API؟
API هي واجهة برمجة التطبيقات التي يمكن أن تكون أشياء كثيرة للعديد من المبرمجين. بشكل أساسي ، API هو الوسيط الذي يسمح لك بتوصيل برنامج واحد بآخر.
سيخفي العديد من المبرمجين والمطورين كودهم الأساسي لمنع الآخرين من سرقة عملهم الشاق. إذا كانوا يريدون أن تعمل البرامج الأخرى مع برنامجهم ، فعليهم أيضًا إتاحة بعض التعليمات البرمجية للسماح بهذا التفاعل. هذا هو المكان الذي تأتي فيه واجهات برمجة التطبيقات. يمكن للمطور إنشاء واجهات برمجة التطبيقات التي تسمح للبرامج الأخرى بالتفاعل مع إبداعاتها وتوفير ميزات وتفاعلات إضافية.
تتم كتابة واجهة برمجة التطبيقات بهيكل معين يتم تنسيقه بطريقة معينة بحيث يفهم المورد ، كما أنه لا يستخدم الكثير من الموارد. تستخدم العديد من مواقع الويب والبرامج والأنظمة الأساسية واجهات برمجة التطبيقات ، مثل Facebook و YouTube و Google Maps و Android و iOS. بالإضافة إلى ذلك ، يستخدم البرنامج الأكثر شهرة دائمًا واجهة برمجة. تعد واجهة برمجة التطبيقات طريقة قيّمة لإضافة الميزات دون الكشف عن كيفية تكوين رمز البرنامج وبنيته.
كيف يتم استخدام واجهات برمجة التطبيقات؟
إذا كنت ترغب في إنشاء مجموعة من فلاتر الكاميرا لهاتف ما ، فيمكنك استخدام واجهة برمجة تطبيقات الكاميرا من Apple أو Android للاستفادة من وظائف الكاميرا بدلاً من إنشاء وظائف خاصة بك.
سيكون البديل هو إنشاء برنامج كاميرا لكل نظام تشغيل ، وهذا يتطلب الكثير من العمل. بدلاً من ذلك ، يمكنك إنشاء واجهة برمجة تطبيقات يمكنها الاتصال ببرنامج الكاميرا الحالي ثم إرسال بيانات التصفية منه وإليه.
يمكن أيضًا استخدام واجهات برمجة التطبيقات للوصول إلى موارد النظام ، والتفاعل مع الأنظمة الأخرى ، وتوفير ميزات ذات قيمة مضافة للمتصفحات ، والمزيد. فقط تذكر أن واجهة برمجة التطبيقات هي جزء من التعليمات البرمجية التي تتحدث إلى برامج أخرى ، ويجب أن تكون على ما يرام.
مثال آخر على كيفية استخدام واجهات برمجة التطبيقات هو خرائط جوجل. إذا كنت ترغب في إضافة خريطة Google إلى موقع الويب الخاص بك ، مع إظهار موقعك ، فأنت تقوم بإعداد واجهة برمجة تطبيقات خرائط Google باستخدام استعلام HTTP GET لسحب الخريطة من Google.
بهذه الطريقة ، تحصل على ما تريد دون أن تضطر Google إلى فعل أي شيء أو السماح بالوصول إلى العناصر الداخلية لمنصة رسم الخرائط الخاصة بها.
باستخدام API ، يمكن لخوادم خرائط Google تلبية ملايين الاستعلامات في فترة زمنية قصيرة دون زيادة التحميل على خادم الخريطة. يتم تنظيم استعلامات API بشكل صحيح لتلبية الاحتياجات باستخدام أقل الموارد. تضمن RESTful API أنه لا يمكن كتابة أي شيء في قاعدة البيانات ولا تترك أي أثر ، تاركة خادم الخريطة للانتقال إلى الاستعلام التالي.
تحديد RESTful API
REST هي اختصار لـ REpresentational State Transfer. يتم استخدام RESTful API لنقل البيانات من مورد واحد إلى عميل. كمثال ، يستخدم محرك البحث نوعًا من RESTful API.
تقوم بإدخال مصطلح بحث ويقوم المحرك بالاستعلام عن الخوادم. تقوم الخدمات بنقل البيانات المرتبطة إلى متصفحك لتستخدمها. هذه هي الطريقة التي تعمل بها RESTful API.
أنت تعلم بالفعل أن واجهة برمجة التطبيقات تسمح للبرامج الخارجية بالتفاعل مع تطبيقات محددة أخرى. تسمح واجهة برمجة تطبيقات RESTful لبرنامج مستقل بالاتصال بقاعدة بيانات منفصلة تمامًا ، كما في مثال محرك البحث أعلاه.
كيف تعمل RESTful API
ما يجعل RESTful API تعمل هو أنها عديمة الحالة وقابلة للتخزين المؤقت. عديم الحالة يعني أن الاستعلام الذي تم إجراؤه بواسطة RESTful API ليس له أي تأثير على قاعدة البيانات. بالإضافة إلى ذلك ، لا يتم تسجيل الاستعلام (دائمًا). لا يتم تخزين أي شيء في قاعدة البيانات ولا يمكن الكتابة إلى قاعدة البيانات. وهو في الأساس إجراء للقراءة فقط.
تعني إمكانية التخزين المؤقت أن عميل واجهة برمجة التطبيقات يمكنه تخزين المعلومات للاستخدام في المستقبل حتى لا يضطر إلى الاستعلام عن قاعدة البيانات في كل مرة.
بالنسبة للويب ، من المحتمل أن تستخدم واجهة برمجة التطبيقات طريقة HTTP لمعالجة الطلب. طرق HTTP الشائعة هي GET و POST و PUT و DELETE. في مثال محرك البحث ، تستخدم واجهة برمجة تطبيقات RESTful طريقة HTTP للحصول على بيانات استعلام البحث من قاعدة بيانات محرك البحث لعرض نتائج البحث.
مثال آخر هو البحث عن مستخدم Twitter. إذا قمت بوضع عنوان URL www.twitter.com/realDonaldTrump في متصفح ، فسيستخدم المتصفح HTTP للحصول على بيانات دونالد ترامب من Twitter وعرضها لك. نظرًا لأن أسماء مستخدمي Twitter فريدة ، فإن الاستعلام سيعيد التفاصيل إلى متصفحك.
تعد RESTful API طريقة أنيقة إلى حد ما لمشاركة المعلومات دون التأثير على أداء الخادم أو التخلي عن الكثير. يخدش هذا البرنامج التعليمي السطح الخاص بكيفية عملها ودمجها في الويب ، ولكن يجب أن يمنحك الفكرة الأساسية عن كيفية عمل RESTful APIs.