ما هي API؟ [قراءة سريعة]
نشرت: 2020-04-25إذا لم تكن مطورًا ، لكنك تعمل في مجال التكنولوجيا ، فمن المحتمل أن يكون مصطلح API شيئًا تفهمه بمعنى المحادثة. من المحتمل أنك تعرف ما تمثله (واجهة برمجة التطبيقات) ، وربما تستخدم فرقك واجهات برمجة التطبيقات للقيام بعملهم - أو ربما يكون المنتج نفسه (Twilio SendGrid ، على سبيل المثال).
ولكن ما هي بالضبط API وكيف تعمل؟
سيساعدك فهم المبادئ الأعمق وراء واجهات برمجة التطبيقات على تسويق هذه التقنيات أو بيعها أو استخدامها بشكل أفضل بنفسك.
يشرح هذا المنشور كيفية عمل واجهات برمجة التطبيقات وكيف يقوم المطورون ببنائها وكيفية استخدامها (مع أمثلة من العالم الحقيقي).
كيف تعمل واجهات برمجة التطبيقات؟
كيف تتفاعل متصفحات الويب مع الخوادم هو مبدأ أساسي لواجهات برمجة التطبيقات. الويب عبارة عن مجموعة من الخوادم البعيدة المنتشرة عبر الكوكب. عندما تفتح متصفحًا وتكتب موقعًا على الويب ، يقوم المتصفح بإجراء مكالمة إلى خادم العميل (أيا كان التطبيق أو الخادم الذي يستضيف موقع الويب) لجلب وعرض أي شيء موجود على عنوان URL هذا.
في حين أن واجهة برمجة التطبيقات ليست الخادم نفسه ، فهي جزء من الخادم ، المعروف باسم نقطة النهاية ، الذي يرسل ويستقبل استجابات معينة. تعد واجهات برمجة التطبيقات (API) وسيلة لتواصل أجزاء مختلفة من البرامج (ويعرف أيضًا باسم الإرسال والاستقبال) مع بعضها البعض عن طريق فتح نقاط النهاية.
يقوم المطورون بإعداد استدعاءات واجهة برمجة التطبيقات لاسترداد بيانات محددة مطلوبة لأغراض مختلفة عند إنشاء تطبيقات أو مواقع ويب. علي سبيل المثال:
- هل فتحت للتو تطبيق Instagram الخاص بك؟ أصبح ذلك ممكنًا من خلال استدعاء API.
- هل سبق لك إضافة حدث إلى تقويم Google الخاص بك من موقع ويب أو بريد إلكتروني آخر؟ كان هذا الموقع يستفيد من واجهة برمجة تطبيقات تقويم Google للحصول على هذه المعلومات المحددة من خادم تقويم Google.
فائدة: يقوم المطورون بإعداد استدعاءات API لاسترداد أنواع بيانات معينة لعرض ما يحتاجون إليه عندما يكون المستخدم على موقع ويب أو يقوم بتشغيل تطبيق.
صعود REST
المصطلح الآخر الذي سمعته على الأرجح هو REST API. إنه لا يختلف لكل قول عن التعريف التقليدي لواجهة برمجة التطبيقات. لا يزال من الجدير فهم سبب انتشار REST APIs وما يميز واجهات برمجة تطبيقات REST عن غيرها.
في البداية ، تم بناء واجهات برمجة التطبيقات لتلبية متطلبات SOAP (بروتوكول الوصول إلى الكائنات البسيط). لكن هذه الطريقة كانت مملة بعض الشيء وتتطلب الكثير من النطاق الترددي لنقل مجموعات البيانات. كما تطلب الكثير من طاقة المطور (ليس مثل النوع الممتع). يستخدم SOAP لغة ترميز XML المعروفة بثقلها لعرض البيانات. مفيد لضمان التوافق العالمي - ولكن هذا كل ما في الأمر.
كان المطورون يبحثون عن طرق أخف وأكثر مرونة لإجراء استدعاءات API. توفر واجهات برمجة تطبيقات REST (نقل الحالة التمثيلية) حلاً بديلاً لـ SOAP API. لا يتم تقييدهم ببروتوكول معين ، على الرغم من أنه يجب عليهم تلبية أنماط معمارية معينة (إذا كنت مهتمًا بالغوص في ذلك ، فانتقل إلى هنا).
بدلاً من عرضه مع ترميز XML ، يستخدم الخادم لغة JSON خفيفة الوزن (ملفات نصية فقط) بدلاً من ذلك. تعد واجهات برمجة تطبيقات REST أخف بكثير من حيث النطاق الترددي من SOAP - فهي عادةً عنوان URL فقط - وهي محسّنة بشكل طبيعي للتواصل على الويب.
فائدة: فكر في واجهات برمجة تطبيقات REST باعتبارها ماري كوندو للبيانات. يأخذون ويستخدمون فقط * بدقة * ما يحتاجون إليه. تشبه واجهات برمجة تطبيقات SOAP مرآب جارك المملوء حاليًا حتى أسنانه بورق التواليت.
فهم أنواع مختلفة من واجهات برمجة التطبيقات
بغض النظر عن البروتوكول أو الأنماط التي تتبعها واجهة برمجة التطبيقات ، هناك عدة أنواع من واجهات برمجة التطبيقات بما في ذلك:
- Open APIs - المعروفة أيضًا باسم واجهات برمجة التطبيقات العامة ، يمكن الوصول إلى نقاط النهاية هذه من قبل أي مطور ولا تفرض عادةً أي قيود على المستخدم. يقبلون عادة التبرعات.
- واجهات برمجة التطبيقات للشريك - هذه هي واجهات برمجة التطبيقات المصممة لاستخدامها معًا وعادة لا يمكن الوصول إليها إلا من خلال نوع من السوق.
- واجهات برمجة التطبيقات الداخلية - هذه هي الأدوات الداخلية التي تستخدمها الشركات لمساعدة موظفيها على أن يكونوا أكثر كفاءة أو توفير طريقة أكثر أمانًا للموظفين لمشاركة البيانات / المعلومات.
- واجهات برمجة التطبيقات المركبة - تعد واجهات برمجة التطبيقات المركبة طريقة لدمج استدعاءات واجهات برمجة التطبيقات ذات الصلة ولكنها تتطلب عادةً استدعاءات فردية لواجهة برمجة التطبيقات.
أمثلة واقعية لواجهات برمجة التطبيقات
هناك الكثير من واجهات برمجة التطبيقات في البرية (بعضها يصل إلى 15000) التي تساعد المستخدمين على الوصول إلى تطبيقات متنوعة. فيما يلي عدد قليل من العناصر البارزة التي ستساعدك على فهم نطاق النظام البيئي لواجهة برمجة التطبيقات.
كوكتيل دي بي
لنفترض أنك تمتلك متجرًا محليًا لبيع الخمور ، وتريد تقديم وصفات كوكتيل على موقع الويب الخاص بك. يمكنك التفكير في استخدام Cocktail DB API أعلاه. كل هذه البيانات (وصفات الكوكتيل) موجودة بالفعل على خادم شخص آخر ويمكن تقييمها عبر واجهة برمجة التطبيقات.
عندما ينقر المستخدم على وصفات margarita (يمكن القول إنها الكوكتيل الممتاز) ، تجد خوادمهم أن الوصفة المحددة ترسلها في JSON ، ويتم التقاطها على موقع الويب وتحليلها في HTML و CSS لتكون قابلة للتقديم على متصفح موقع الويب الخاص بك.
OpenWeatherMap
تعد إضافة قسم الطقس إلى موقع الويب الخاص بك حالة استخدام شائعة للغاية. فكر في أي منتجع تزلج أو متاجر دراجات أو شركة رحلات. تخزن OpenWeatherMap API جميع تنبؤات الطقس والمعلومات ولا تعرض سوى الجزء الذي تطلبه.
توفر واجهة برمجة التطبيقات هذه إصدارات مجانية ومتميزة بناءً على مقدار البيانات التي تريد عرضها.
SendGrid Email API
تستفيد واجهة برمجة تطبيقات البريد الإلكتروني SendGrid من SMTP (بروتوكول نقل البريد البسيط) للسماح للعملاء بإرسال كميات كبيرة من رسائل البريد الإلكتروني الخاصة بالمعاملات والمشغلات - فكر في إعادة تعيين كلمة المرور وتأكيد الحساب وإشعارات الشحن.
Twilio SMS
Twilio SMS API هي واجهة برمجة تطبيقات REST أخرى توفر طريقة لإضافة ميزات المراسلة إلى التطبيقات. أصبحت الرسائل النصية القصيرة شائعة بشكل متزايد كطريقة للعلامات التجارية للتواصل مع العملاء لأنها شخصية ، في الوقت الفعلي ، وتتم قراءة هذه الرسائل بمعدلات أعلى بكثير.
كيفية استخدام API
قبل أن تبدأ أنت أو فريقك في استخدام واجهات برمجة التطبيقات ، من المهم معرفة ما إذا كانت مفتوحة أم مُستخدمة جنبًا إلى جنب مع خدمة شريك أم مركبة.
كيف تبدأ مع API
اقرأ الوثائق. يجب أن تحتوي أي واجهة برمجة تطبيقات على وثائق قابلة للتطبيق لتتبعها. سيخبرك ما هي التبعيات التي لديك ، ونوع API ، وكيفية استخدامها. يجب أن تكون الوثائق الضعيفة بمثابة علامة حمراء لك ولمطورك. نحن فخورون جدًا بوثائق Twilio's و SendGrid الرائعة.
إنشاء مفتاح API. ستحتاج إلى إنشاء مفتاح API لبدء استخدامه. فيما يلي إرشادات من Google Maps API:
ملاحظة : لا تشارك مفاتيح API أبدًا وتأكد من أنها غير مرئية في أي رمز عام تضعه على GitHub.
ابدأ البناء: أرسل بريدًا إلكترونيًا مجانًا باستخدام SendGrid Email API
الباقي متروك لك! الفرص لا حصر لها حقًا عند العمل مع واجهات برمجة التطبيقات. لإلقاء نظرة على جميع فرص العمل مع Twilio API ، تحقق من Twilio Code Exchange.
إذا كنت مهتمًا باستخدام SendGrid Email API لإرسال بريد إلكتروني مجاني ، فتحقق من ذلك هنا.