الصفحة الرئيسية » howto » ما هو API؟

    ما هو API؟

    من المحتمل أنك رأيت مصطلح "API". غالبًا ما يعلن نظام التشغيل ومستعرض الويب وتحديثات التطبيقات عن واجهات برمجة تطبيقات جديدة للمطورين. لكن ما هو API?

    واجهة برمجة تطبيق

    المصطلح API هو اختصار ، وهو يرمز إلى "Application Programming Interface".

    فكر في واجهة برمجة التطبيقات مثل قائمة في مطعم. توفر القائمة قائمة بالأطباق التي يمكنك طلبها ، بالإضافة إلى وصف لكل طبق. عند تحديد عناصر القائمة التي تريدها ، يقوم مطبخ المطعم بالعمل ويقدم لك بعض الأطباق الجاهزة. أنت لا تعرف بالضبط كيف يقوم المطعم بإعداد هذا الطعام ، ولا تحتاج إليه حقًا.

    وبالمثل ، تعرض واجهة برمجة التطبيقات مجموعة من العمليات التي يمكن للمطورين استخدامها ، بالإضافة إلى وصف لما يفعلونه. لا يحتاج المطور بالضرورة إلى معرفة كيف يقوم نظام تشغيل ، على سبيل المثال ، بإنشاء مربع حوار "حفظ باسم" وتقديمه. انهم فقط بحاجة إلى معرفة أنه متاح للاستخدام في تطبيقها.

    هذه ليست استعارة مثالية ، حيث قد يضطر المطورون إلى تقديم بياناتهم الخاصة إلى واجهة برمجة التطبيقات للحصول على النتائج ، لذلك ربما يكون الأمر أشبه بمطعم فاخر حيث يمكنك تقديم بعض المكونات الخاصة بك والتي سيعمل المطبخ معها.

    لكنها دقيقة على نطاق واسع. تسمح واجهات برمجة التطبيقات للمطورين بتوفير الوقت من خلال الاستفادة من تنفيذ النظام الأساسي للقيام بالعمل الدقيق. ويساعد ذلك في تقليل عدد مطوري التعليمات البرمجية الذين يحتاجون إلى إنشائها ، ويساعد أيضًا في إنشاء المزيد من التناسق عبر التطبيقات لنفس النظام الأساسي. يمكن لواجهات برمجة التطبيقات التحكم في الوصول إلى موارد الأجهزة والبرامج.

    واجهات برمجة التطبيقات جعل الحياة أسهل للمطورين

    لنفترض أنك تريد تطوير تطبيق لجهاز iPhone. يوفر نظام التشغيل iOS من Apple عددًا كبيرًا من واجهات برمجة التطبيقات - حيث يعمل كل نظام تشغيل آخر على تسهيل الأمر عليك.

    إذا كنت تريد تضمين مستعرض ويب لعرض صفحة ويب واحدة أو أكثر ، على سبيل المثال ، لن تحتاج إلى برمجة مستعرض الويب الخاص بك من البداية من أجل التطبيق الخاص بك. يمكنك استخدام WKWebView API لتضمين كائن مستعرض WebKit (Safari) في التطبيق الخاص بك.

    إذا كنت ترغب في التقاط الصور أو الفيديو من كاميرا iPhone ، لن تضطر إلى كتابة واجهة الكاميرا الخاصة بك. يمكنك استخدام واجهة برمجة تطبيقات الكاميرا لتضمين الكاميرا المضمنة في iPhone في تطبيقك. إذا لم تكن واجهات برمجة التطبيقات موجودة لجعل هذا سهلاً ، فسيتعين على مطوري التطبيقات إنشاء برامج الكاميرا الخاصة بهم وتفسير مدخلات أجهزة الكاميرا. ولكن مطوري نظام التشغيل في Apple قاموا بكل هذا العمل الشاق حتى يتمكن المطورون من استخدام واجهة برمجة تطبيقات الكاميرا لتضمين كاميرا ، ثم البدء في بناء التطبيق الخاص بهم. وعندما تحسِّن Apple واجهة برمجة تطبيقات الكاميرا ، ستستفيد جميع التطبيقات التي تعتمد عليها من هذا التحسين تلقائيًا.

    هذا ينطبق على كل منصة. على سبيل المثال ، هل تريد إنشاء مربع حوار على Windows؟ هناك واجهة برمجة تطبيقات لذلك. هل تريد دعم مصادقة بصمة الإصبع على نظام Android؟ هناك أيضًا واجهة برمجة تطبيقات لذلك ، لذا لن تضطر إلى اختبار كل مستشعر بصمة الإصبع لشركة Android. لا يضطر المطوّرون إلى إعادة اختراع العجلة مراراً وتكراراً.

    التحكم في APIs الوصول إلى الموارد

    تُستخدم أيضًا واجهات برمجة التطبيقات للتحكم في الوصول إلى الأجهزة ووظائف البرامج التي قد لا يكون لدى التطبيق بالضرورة إذنًا لاستخدامها. لهذا السبب غالباً ما تلعب واجهات برمجة التطبيقات (APIs) دورًا كبيرًا في الأمان.

    على سبيل المثال ، إذا زرت موقعًا على الويب ورأيت رسالة في متصفحك تفيد بأن موقع الويب يطلب معرفة موقعك الدقيق ، فإن موقع الويب هذا يحاول استخدام واجهة برمجة التطبيقات للموقع الجغرافي في متصفح الويب لديك. تعرض متصفحات الويب واجهات برمجة التطبيقات مثل هذه لجعل من السهل على مطوري الويب الوصول إلى موقعك - ​​يمكنهم فقط طرح السؤال "أين أنت؟" ويقوم المتصفح بالعمل الجاد للوصول إلى GPS أو شبكات Wi-Fi المجاورة للعثور على موقعك الفعلي.

    ومع ذلك ، تعرض المتصفحات أيضًا هذه المعلومات عبر واجهة برمجة التطبيقات لأنه من الممكن التحكم في الوصول إليها. عندما يريد أحد مواقع الويب الوصول إلى موقعك الفعلي بالضبط ، فإن الطريقة الوحيدة للحصول عليه هي عبر واجهة برمجة التطبيقات للموقع. وعندما يحاول أحد مواقع الويب استخدامه ، يمكنك اختيار السماح لهذا الطلب أو رفضه. الطريقة الوحيدة للوصول إلى موارد الأجهزة مثل مستشعر GPS هي من خلال واجهة برمجة التطبيقات ، بحيث يمكن للمتصفح التحكم في الوصول إلى الأجهزة وتحديد ما يمكن للتطبيقات القيام به.

    يستخدم هذا المبدأ نفسه في أنظمة تشغيل الهواتف المحمولة الحديثة مثل iOS و Android ، حيث تمتلك تطبيقات الجوّال أذونات يمكن فرضها من خلال التحكم في الوصول إلى واجهات برمجة التطبيقات. على سبيل المثال ، إذا حاول أحد المطورين الوصول إلى الكاميرا عبر واجهة برمجة تطبيقات الكاميرا ، فيمكنك رفض طلب الإذن ، وليس لدى التطبيق أي طريقة للوصول إلى كاميرا جهازك.

    تمتلك أنظمة الملفات التي تستخدم أذونات - كما تفعل في أنظمة التشغيل Windows و Mac و Linux - تلك الأذونات التي تفرضها واجهة برمجة التطبيقات لنظام الملفات. لا يمتلك التطبيق النموذجي وصولاً مباشرًا إلى القرص الثابت الفعلي. بدلاً من ذلك ، يجب على التطبيق الوصول إلى الملفات من خلال واجهة برمجة التطبيقات.

    وتستخدم APIs للاتصال بين الخدمات

    يتم استخدام واجهات برمجة التطبيقات لجميع أنواع الأسباب الأخرى أيضًا. على سبيل المثال ، إذا كنت قد شاهدت كائن خرائط Google مضمنًا على موقع ويب ، فإن هذا الموقع يستخدم API لخرائط Google لتضمين هذه الخريطة. يعرض Google واجهات برمجة التطبيقات مثل هذه لمطوري الويب ، الذين يمكنهم بعد ذلك استخدام واجهات برمجة التطبيقات لمسح الكائنات المعقدة مباشرةً على موقعهم على الويب. إذا لم تكن واجهات برمجة التطبيقات مثل هذه موجودة ، فقد يضطر المطورون إلى إنشاء خرائطهم الخاصة وتوفير بيانات الخرائط الخاصة بهم فقط لوضع خريطة تفاعلية صغيرة على موقع الويب.

    ولأنها واجهة برمجة تطبيقات ، يمكن لـ Google التحكم في الدخول إلى خرائط Google على مواقع ويب الجهات الخارجية ، وضمان استخدامها بطريقة متسقة بدلاً من محاولة تضمين إطار يعرض موقع ويب خرائط Google على سبيل المثال ، على سبيل المثال.

    ينطبق هذا على العديد من الخدمات المختلفة عبر الإنترنت. هناك واجهات برمجة التطبيقات لطلب ترجمة نصية من خدمة الترجمة من Google ، أو تضمين تعليقات على Facebook أو تغريدات من Twitter على موقع ويب.

    يحدد معيار OAuth أيضًا عددًا من واجهات برمجة التطبيقات التي تسمح لك بتسجيل الدخول إلى موقع ويب باستخدام خدمة أخرى - على سبيل المثال ، لاستخدام حسابات Facebook أو Google أو Twitter لتسجيل الدخول إلى موقع ويب جديد بدون إنشاء حساب مستخدم جديد لهذا الموقع فقط . واجهات برمجة التطبيقات (APIs) هي عقود قياسية تحدد كيفية اتصال المطورين بالخدمة ، ونوع الإخراج الذي يتوقع هؤلاء المطورون استلامه مرة أخرى.


    إذا حصلت على هذا ، سيكون لديك فكرة أفضل عن ما هي API. في النهاية ، لا تحتاج إلى معرفة ما هي واجهة برمجة التطبيقات ما لم تكن مطورًا. ولكن إذا رأيت نظامًا أساسيًا أو خدمة قد أضافت واجهات برمجة تطبيقات جديدة للعديد من الأجهزة أو الخدمات ، فيجب أن يكون من السهل على المطورين الاستفادة من هذه الميزات.

    ائتمان الصورة: patpitchaya / Shutterstock.com.