ماهو API وما فائدته وكيف يستخدم ?
نشرح اليوم مفهوم API هو ببساطة هى نقطة الوصل بين بيئة تطويرية معينة والمطورين , حتى تتيح لهؤلاء المطورين الاستفادة
من خدامات هذه البيئة بدون الحاجة إلى بناء كل شئ من الصفر . وبشكل عام هدف API هو اخفاء التفاصيل Encapsulation
و ابراز طريقة الاستفادة من الكود .
مثال من الواقع لتقريب الفكرة , عندم تنتج شركات محركات سيارات محرك جديد فانها تقوم بتغليف هذا المحرك وتقوم بطرحه بالسوق
لتستفيد منه الشركات لبناء منتاجاتها الخاصة كالسيارات مثلا وقد تستخدمه الشركة بدون الدخول فى تفاصيل تصنيعه فما يهم الشركة
هو كيف تستخدم المحرك لبناء منتجها وليس كيف صُنع المحرك .
هذا بالضبط ما يحدث فى البرمجة عندما نستخدم كلاس او دالة او Plugin فى مشروعنا , فما يهمنا فعلًا هو كيف نستخدمه ليخدم
مشروعنا وليس كيفية عمله .
وإليك بعض الامثلة عن API
يوجد الكثير من الامثلة API’s مشهورة نصادفها كل يوم مثلا الفيسبوك يتيح API للمواقع لتسجيل الدخول عن طريقه بدون الحاجة
إلى بناء نظام تسجيل دخول من الصفر , فانت عندما تريد اضافة هذه الاضافة إلى موقعك لن تطلع على كيفية بنائها ولكن
ما يهمك كيفية استخدامها لاضافتها لموقعك او تطبيقك , ويوجد الكثير من الامثلة الاخرى لل API مثل خرائط جوجل Google Maps
التى تسمح للمطورين بعرض اجزاء من الخرائط لامكان معينة على تطبيقهم او موقعهم . مثال اخر عندم تقوم بشراء شئ على
الانترنت من موقع معين فهذا الموقع يستخدم API الخاصة بشركة VISA ليقوم بالتواصل معه وخصم المال من بطاقتك .
مثال اخر ولكن هذه المرة من تطبيقات سطح المكتب , فاذا اردت بناء برنامج وهذا البرانامج يريد بعض التحكم فى جهاز الكموبيوتر
فانه يستخدم API التى توفرها نظم التشغيل للتحكم فى الجهاز بدون الحاجة إلى الكثير من العمل للحصول على هذه الصلاحيات
والدخول فى البرمجة في مستويات أدنى وتقوم بإستخدام لغة Assembly او التجميع لكي تقوم بهذه العملية .
مثال اخير MySQL API فى لغة PHP فانت عندم تكتب استعلام مثل :mysql_query(‘SELECT * FROM tablename’);فكل
ما يهمنا هو ان الدالة للاستعلام من قاعدة البيانات ولكن الكثير من التفاصيل مخبأة عن المطورين
تابع ماهو API وما فائدته وكيف يستخدم
انواع API
هناك ثلاث طرق لسياسات الوصول إلى API.
خاص Private
API للاستخدام الداخلي فقط. هذا يمنح الشركات أكبر قدر من التحكم في API الخاصة بهم.
شريك Partner
يتم مشاركة API من هذا النوع مع شركاء أعمال محددين.
عام Public
هذا النوع من سياسة الوصول إلى API يكون متاح للجميع وبالاسفل قائمة ببعض هذه ال API’s.
أمثلة عملية على API’s
- Google API’s : حيث توفر جوجل مجموعة كبيرة من واجهات البرمجة مثل خدامات الترجمة Google Translate API وخدامات الخرائط Google Maps API واليوتيوب YouTube API.
- Facebook API’s : يوفر أيضًا الفيسبوك مجموعة من API’s مثل Facebook social graph ويستخدم فى الوصول لمجموعة من البيانات العامة للمستخدمين.
واجهات برمجة تطبيقات REST
تم تصميم خدمات الويب فى الأساس باستخدام SOAP وهو بروتوكول للتواصل بإستخدام بروتوكول HTTP وصيغة XML ,
على الرغم من ذلك فإن معظم تطبيقات الويب الحديثة تستعمل واجهة البرمجة بإستخدام REST.
تم طرحه فى الأساس عام 2000 على يد Roy Fielding , وهو مجموعة من الهياكل و مبادئ التصميم المستخدمة فى بناء النظم
الموزعة وتضمن تواصل هذه النظم وتبادل أي نوع من أنواع البيانات مثل (الصور والفيديوهات وإلخ) ولعل أكثر ما ساهم فى
إنتشار REST هو السهولة النسبية فى بناء التطبيقات والمرونة الكبيرة التى يتمتع بها.
في واجهة برمجة تطبيقات REST ، يمكن أن يكون المورد أي شيء تقريبًا ، على سبيل المثال قائمة بالتغريدات على موقع تويتر او
حالة الطقس فى بلد معين. كل من هذه الموارد قابل للعنونة ، والذي في حالة واجهات برمجة تطبيقات REST المستندة إلى الويب
يكون عنوان URL ، فعلى سبيل المثال https://api.twitter.com/1.1/users/show?screen_name=twitterdev
حينما يقوم المستخدم لل API بطلب العنوان يقوم API بالرد باي نوع من انواع الصيغ مثل JSON او صورة او حتى صفحة Web.
يوفر API ميزة إرسال البيانات للتطبيقات الأخرى ليعالج التطبيق البيانات بالطريقة التى يريدها مما يوفر مرونة كبيرة فى إستخدام
البيانات ولكن هذا ايضًا له اثار جانبية حيث أنه ابطئ من حالة معالجة البيانات ثم إرسال المنتج النهائى للمستخدم.
قائمة بAPIs مجانية و يوجد الكثير من الامثلة الاخرى ولكن كانت هذه امثلة شهيرة ولكن مفهوم API الشامل غير مقصور على هذه
الامثلة ولكن كما ذكرنا فهو بشكل عام اخفاء وتغليف اجزاء معينة لاستخدامها بطريقة او باخرى , وإلى هنا تنتهى المقالة وشكرًا لكم .
استعرضنا اليوم “ ماهو API وما فائدته وكيف يستخدم ” مفهوم API و كيفية استخدامة و امثلة عن API و كذلك واجهات
برمجة تطبيقات REST
وننتظر التعليقات حتي تعم الفائدة لكل القراء المقال مع تحيات ويب لينك اس
مقالات ذات صلة :-
اكثر لغات البرمجة طلبا والاعلي اجرا 2020
أفضل 10 لغات برمجة للتعلم في عام 2020