سؤال شرح ما هو الapi ومثال واقعي ؟
شرح مفصل وشكراً
سلام أخ يوسف،
يُمكن القول ان API ببساطة هو مجموعة من البرمجيات التى تسمح لتطبيقين مختلفين التواصل والتفاعل مع بعضهم البعض. إنها مجموعة من البروتوكولات والإجراءات والأدوات لبناء تطبيقات البرامج.
تعمل واجهة برمجة التطبيقات (API) كوسيط بين نظامين برمجيين، مما يسمح لهما بتبادل المعلومات وطلب الخدمات من بعضهما البعض. يمكن لنظام واحد تقديم طلب إلى واجهة برمجة التطبيقات، وسيقوم API بعد ذلك بإرسال البيانات المطلوبة مرة أخرى أو تنفيذ الإجراء المطلوب.
من الأمثلة الواقعية لواجهة برمجة التطبيقات API لخرائط Google. تسمح واجهة برمجة التطبيقات هذه للمطورين بدمج خرائط Google في تطبيقاتهم الخاصة. هذا يعني أنه يمكن للمطورين استخدام API لخرائط Google لإضافة الخرائط والاتجاهات والخدمات الأخرى المستندة إلى الموقع إلى تطبيقات البرامج الخاصة بهم.
مثال آخر على واجهة برمجة التطبيقات هو Twitter API، والذي يسمح للمطورين بالوصول إلى بيانات Twitter والتفاعل معها، مثل التغريدات والمستخدمين...
بشكل عام، تعد واجهات برمجة التطبيقات (API) ضرورية لإنشاء أنظمة برمجية معقدة قادرة على التواصل والعمل معًا بسلاسة.
API هي اختصار لـ "واجهة برمجة التطبيقات" هي عبارة عن البرمجيات والبروتوكولات والأدوات التي تمكن التطبيقات من التواصل والتفاعل مع بعضها البعض .
بشكل أساسي ، تسمح واجهة برمجة التطبيقات API للتطبيقات بالاتصال بمصار البيانات والموارد الأخرى عبر الانترنت واستخدامها في تطبيقاتها وبهذه الطريقة يمكن للتطبيقات المختلفة مثل مواقع الويب وتطبيقات الجوال والتطبيقات السحابية وغيرها من الاتصال بمصار البيانات المختلفة مثل قواعد البيانات والتطبيقات الأخرى وتبادل البيانات بسلاسة وسهولة.
ومن الأمثلة على استخدام API مواقع التجارة الإلكترونية مثل Amazon وeBay والتي تتيح للمطورين الوصول الى بيانات المنتجات والأسعار وغيرها من البيانات . كما يمكن استخدام API في خدمات الدفع الإلكتروني مثل PayPal وStripe حيث يمكن للمطورين استخدام API للحصول على المعلومات الحساسة واجراء عمليات الدفع بامان .
استخدام API يساعد المبرمجين على إنشاء تطبيقات متكاملة وسهلة الإستخدام كما يعتبر API أداة قوية لدمج التطبيقات وتبادل البيانات بين التطبيقات المختلفة .
للإطلاع أكثر
يمكن استخدام واجهة برمجة التطبيقات API لتطوير موقع الويب بعدة طرق، منها:
1- استخدام واجهة برمجة التطبيقات API العامة: يمكن استخدام واجهة برمجة التطبيقات API العامة المتاحة على الإنترنت للوصول إلى البيانات والمعلومات التي تحتاج إليها لتطوير موقع الويب.
مثال على ذلك هو استخدام Google Maps API لعرض خرائط جوجل على موقع الويب الخاص بك. يمكنك الاتصال بـ API واستخدام الوظائف المتاحة لتحديد مواقع الأماكن على الخريطة، إضافة علامات تبويب والتحكم في التصفح.
2- تطوير واجهة برمجة التطبيقات الخاصة بالموقع: يمكن تطوير واجهة برمجة تطبيقات خاصة بالموقع لتمكين المطورين الآخرين من الوصول إلى البيانات والمعلومات الخاصة بالموقع.
مثال على ذلك هو تطوير واجهة API خاصة لموقع التجارة الإلكترونية لتمكين المطورين الآخرين من الوصول إلى المنتجات والخدمات التي تقدمها المنصة. يمكن استخدام API لإدارة الحسابات، إنشاء طلبات شراء، واسترداد بيانات العملاء. هذا يتيح للمطورين العمل على تطوير تطبيقات متكاملة مع الموقع بسهولة.
على الرغم من أن كلا المصطلحين يتعلقان بالبرمجة والتطوير، إلا أن API و SDK مختلفان عن بعضهما البعض. فالـAPI هو واجهة برمجة تسمح للمطورين بالاتصال بتطبيق معين والحصول على البيانات وتنفيذ الوظائف الأساسية، بينما يعني SDK مجموعة من الأدوات والمكتبات والبرمجيات التي تساعد على بناء تطبيقات مخصصة وتحسين تجربة المطورين والمستخدمين.
يمكن تصنيف واجهات برمجة التطبيقات API حسب جمهورها المستهدف ونطاقها. هناك أربعة أنواع رئيسية من واجهات برمجة التطبيقات API التي يعمل عليها المطورون:
1- واجهات برمجة التطبيقات الخاصة Private APIs: هذه الواجهات متاحة فقط لفريق العمل الداخلي في الشركة لزيادة الإنتاجية والشفافية. يمكن لمطوري الشركة استخدام هذه الواجهات حسب الحاجة ولكن لا يمكن لمطوري الأطراف الثالثة الوصول إليها.
2- واجهات برمجة التطبيقات الشريكة Partner APIs: هذه الواجهات مشتركة بشكل خارجي، ولكن فقط مع الأشخاص الذين لديهم علاقة تجارية مع الشركة التي توفر واجهة برمجة التطبيقات. تستخدم بعض الشركات واجهات برمجة التطبيقات الشريكة لأنها تريد السيطرة على من يمكنه الوصول إلى مواردها وكيفية استخدام تلك الموارد.
3- واجهات برمجة التطبيقات المفتوحة Open APIs: هذه الواجهات المفتوحة، والتي تسمى أيضًا الواجهات العامة، متاحة للاستخدام الخارجي. في حين أن بعض واجهات برمجة التطبيقات المفتوحة مجانية، فإن بعضها الآخر يتطلب رسوم اشتراك للاستخدام، والتي غالبًا ما تكون مدرجة بناءً على الاستخدام.
4- واجهات برمجة التطبيقات المركبة Composite APIs: هذه الواجهات تتيح لك تجميع الاستدعاءات أو الطلبات للحصول على استجابة موحدة واحدة من خوادم مختلفة.
إذا كنت بحاجة إلى الحصول على بيانات من تطبيقات مختلفة ، فستستخدم واجهة برمجة التطبيقات المركبة. بدلاً من إجراء خمس مكالمات API منفصلة على التوالي ، يمكنك إجراء مكالمة واحدة باستخدام واجهة برمجة التطبيقات المركبة للحصول على استجابة موحدة من خوادم مختلفة.
بما أن العديد من الشركات والمواقع توفر API مختلفة ، فمن المهم البحث عن API المناسب للغرض المطلوب. يمكن العثور على العديد من الموارد عبر الإنترنت للبحث عن API المناسب فمنها ما هو مجاني ومنها ما هو مدفوع تبعًا لحجم البيانات المطلوبة أو نوعها وحساسيتها.
أولاً وقبل كل شيء ، ستريد العثور على API يمكنك دمجه في عملك. قد تكون لديك بالفعل اهتمامًا بـ API معين ، خاصةً إذا كنت مهتمًا بأحد العمالقة مثل Facebook API. قد ترغب أيضًا في البحث حسب التكلفة - قد ترغب في البدء بـ API مجاني قبل استكشاف الـ APIs المدفوعة ، على سبيل المثال.
بمجرد اختيار API ، فقد حان الوقت للتحقق من وثائق الـ API.
يتم استخدام مفتاح API لتحديد هويتك كعميل صالح ، وتعيين أذونات الوصول ، وتسجيل تفاعلاتك مع الـ API.
تجعل بعض الـ APIs مفاتيحها متاحة بحري ، في حين يتطلب بعض الـ APIs الأخرى من العملاء الدفع بالمقابل. على أي حال ، ستحتاج على الأرجح إلى التسجيل في الخدمة. سيتم تعيين معرف فريد لك ، والذي ستقوم بتضمينه في استدعاءاتك.
دائمًا ما يجب الحفاظ على مفتاحك سريًا ، تمامًا مثل كلمة المرور. إذا تم تسريب مفتاحك ، يمكن للمستخدمين السيئين إجراء طلبات API بالنيابة عنك. قد تتمكن من إبطال مفتاحك القديم والحصول على مفتاح جديد إذا حدث مثل هذا الخرق.
تعتبر وثائق واجهة برمجة التطبيقات (API) دليل الإرشادي الأساسي لكيفية استخدام ودمج واجهة برمجة التطبيقات (API) بفعالية. بالإضافة إلى توفير جميع المعلومات المطلوبة للعمل مع واجهة برمجة التطبيقات (API) ، مثل ما إذا كانت تحتاج إلى مفتاح API أو لا ، عادة ما تتضمن الوثائق أمثلة ودروس
يجب الرجوع إلى الوثائق لمعرفة كيفية الحصول على مفتاحك وكيفية إرسال الطلبات والموارد التي يمكنك جلبها من خادم الواجهة البرمجية.
الخطوة التالية هي كتابة طلبك الأول. أسهل طريقة هي استخدام عميل HTTP للمساعدة في تنظيم وإرسال طلباتك.
الإيرادات
الجواب السهل هو المال. تقوم جوجل ويليها وفيسبوك وآلاف الشركات الأخرى بجعل واجهات برمجية متاحة للجمهور وتحقيق أرباح إضافية من خلالها. في الواقع، في بعض الشركات، تعد واجهات البرمجة هي المصدر الرئيسي للإيرادات. ووفقًا لتقرير حديث صادر عن MuleSoft Inc. ، فإن 35٪ من قادة التكنولوجيا الحاليين يولدون أكثر من ربع إيرادات منظماتهم نتيجة مباشرة للواجهات البرمجية.
التوسع
عن طريق مشاركة ما تفعله بشكل جيد لأكبر جمهور ممكن، فإن شبكة المستخدمين الذين يتجاوزون موظفيك وعملائك - بما في ذلك المطورين من الجهات الخارجية والمستهلكين - سيصبحون يعتمدون على البيانات والوظائف المقدمة من خلال الواجهات البرمجية الخاصة بك. وفي النهاية، سيحسن هذا الأمر استخدام واعتماد منصتك الرئيسية. بعبارة أخرى، لا توسع واجهات البرمجة فقط قاعدة عملائك، بل تولد فرص سوق جديدة في الاقتصاد الرقمي.
من بين أبرز الأمثلة البارزة هي خدمات ويب أمازون (AWS). فهذه المنصة، التي تسمح بشكل أساسي لأي شركة أو مطور بتشغيل تطبيقاته على الأساس الأساسي لبنية تحتية تكنولوجية مقدمة من أمازون عبر الواجهات البرمجية، تستخدمها الملايين من العملاء في جميع أنحاء العالم وتعتبر مسؤولة عن تحول أمازون من مكتبة على الإنترنت إلى ع
تعريف الـ API (Application Programming Interface) هو مجموعة القواعد التي تحدد كيفية اتصال التطبيقات والواجهات والأجهزة ببعضها البعض.
ويستخدم عادة في تطبيقات الويب لفصل الواجهة الخلفية عن الواجهة الأمامية ويوفر نقاط وصول (endpoints) للوصول بسهولة إلى مصادر معينة أو تطبيق أفعال CRUD (Create, Read, Update, Delete). يتم ذلك عن طريق إخفاء تعقيد منطق عمل وظيفة أو دالة أو تابع وتصدير طريقة بسيطة للوصول إليها والتعامل معها. يوفر هذا مرونة أكبر وقابلية أكثر للتحكم في التطبيق بواجهتيه الأمامية والخلفية.
يتم تعيين قائمة بالإجراءات التي يمكن للعميل طلبها من الخادم لكل نقطة نهاية. على سبيل المثال، يمكن أن تكون نقطة النهاية الجمعية مخصصة لعرض الموارد أو إنشائها، في حين أن نقطة النهاية المفردة يمكن أن تكون مخصصة لاسترداد أو تحديث أو إلغاء مورد محدد. يجب على العميل إدراج الفعل الصحيح (GET و POST و PUT و DELETE) في طلبه لإخبار الخادم بالإجراء الذي يجب أن يتخذه.
يمكن للعميل والخادم استخدام ثلاثة تنسيقات للبيانات لتبادل هذه المعلومات:
API هو اختصار لـ واجهة برمجة التطبيقات وهي مجموعة من البرمجيات التي تسمح لتطبيقين مختلفين بالتواصل والتفاعل مع بعضهما البعض. على سبيل المثال، عندما تستخدم تطبيقًا للطقس على هاتفك، فإنه يستخدم API للحصول على بيانات الطقس من خادم آخر. أو عندما تستخدم تطبيقًا للتواصل الاجتماعي، فإنه يستخدم API لإرسال واستقبال الرسائل والصور من المستخدمين الآخرين.
عمل API يتم بناءً على مبدأ الطلب والاستجابة، حيث يرسل التطبيق العميل طلبًا إلى التطبيق المخدم عبر واجهة محددة، ويستقبل العميل استجابة من المخدم تحتوي على البيانات أو الخدمات المطلوبة. لكن قبل ذلك، يجب تصميم API بشكل بسيط واتساق وسهولة استخدام، وإعداد التطبيقات من جانب المخدم والعميل، ونشر خدمة API إلى نظام آمن وقابل للتطوير. كذلك، يجب إعداد التسجيل والمراقبة والتتبع لضمان سلاسة تشغيل API.
هناك أنواع مختلفة من API حسب طريقة التواصل أو البروتوكول أو المستوى. أحد أشهر الأنواع هو REST API أو Representational State Transfer، وهو نظام يستخدم HTTP لإرسال طلبات باستخدام الأساليب GET, POST, PUT, DELETE. REST API يتميز بأنه سهل الفهم والتطور والصيانة.
فائدة استخدام API هي تحسين كفاءة التطور والتكامل بين التطبيقات المختلفة، فضلاً عن تزويد المستخدم بتجرية مستخدم أفضل. كذلك، يساعد API في تحديث البرامج دون التأثير على الأجزاء الأخرى من التطبيق.
فلنفترض أن لدينا تطبيقًا لإظهار درجة حرارة مدينة معينة باستخدام REST API. في هذه الحالة، سيكون جزء المخدم مسؤولًا عن تخزين بيانات الطقس للمدن المختلفة، وإرسالها إلى العميل عند طلبها. وسيكون جزء العميل مسؤولًا عن إرسال اسم المدينة التي يرغب في معرفة درجة حرارتها، وإظهار الاستجابة التي تحتوي على درجة الحرارة.
مثال بسيط لكيفية استخدام API بلغة javascript
// احصل على عنصر الزر من الصفحة var button = document.getElementById("button"); // اضف مستمع لحدث النقر على الزر button.addEventListener("click", function() { // احصل على قيمة اسم المدينة من حقل الإدخال var city = document.getElementById("city").value; // إذا كان حقل الإدخال غير فارغ if (city) { // أنشئ طلب HTTP جديد var xhr = new XMLHttpRequest(); // حدد نوع وعنوان وطريقة الطلب xhr.open("GET", "http://example.com/api/weather?city=" + city); // حدد ما سيحدث عند استقبال استجابة من المخدم xhr.onload = function() {
// إذا كانت الاستجابة ناجحة
if (xhr.status == 200) { // تحويل نص الاستجابة إلى كائن JSON var response = JSON.parse(xhr.responseText); // احصل على درجة الحرارة من كائن JSON var temperature = response.temperature; // اظهر درجة الحرارة في عنصر span في الصفحة document.getElementById("temperature").innerHTML = temperature; } else { // إذا كانت هناك خطأ في الطلب أو في المخدم، اظهر رسالة خطأ في عنصر span في الصفحة document.getElementById("temperature").innerHTML = "Error: " + xhr.statusText; } }; // أرسل طلب HTTP إلى المخدم xhr.send(); } });
الكود السابق خاص بجزء العميل
هذا الفيديو يشرح الفكرة بشكل جيد.
تعتبر واجهة برمجة التطبيقات (API) من أهم الأدوات التي يستخدمها المطورون في عالم البرمجة، حيث تساعد على تسهيل عملية تبادل البيانات والمعلومات بين التطبيقات المختلفة.
API هي اختصار لـ "Application Programming Interface"، وتعني واجهة برمجية للتطبيقات. يُعرّف API على أنه نظام يساعد على تحديد كيفية تفاعل التطبيق مع تطبيق آخر، حيث يساعد في تحديد الأوامر والإجراءات التي يستطيع التطبيق استخدامها للاستفادة من خصائص التطبيق الآخر.
APIs تستخدم في جميع أنواع التطبيقات، سواء كان ذلك على شبكة الإنترنت أو داخل شبكات الشركات. فالشركات تستخدم APIs لإضافة خصائص إضافية إلى نظام إدارة المحتوى (CMS) أو نظام إدارة المستودع (ERP)، بحيث يسهِّل استيراد وتصدير البيانات بشكل سهل.
في الأساس، يقوم المطورون بإنشاء API باستخدام لغة البرمجة المفضلة لديهم، ثم يقومون بنشر هذه الAPI على شبكة الإنترنت. ثم يستخدم المطورون هذه الAPI من خلال إرسال طلبات HTTP إلى نقطة نهاية API (Endpoint)، والتي تستجيب عادةً باستخدام JSON أو XML.
على سبيل المثال، إذا كان لديك تطبيق يحتاج إلى استخلاص الأحوال الجوية من خدمة مثل OpenWeatherMap، فيجب عليك استخدام API التابع لـ OpenWeatherMap. ستحتاج إلى التسجيل في OpenWeatherMap والحصول على مفتاح API (API Key)، ثم ستستخدم هذا المفتاح في طلبات HTTP التي ترسلها إلى نقطة نهاية API.
1. تحديد نوع الAPI المطلوب استخدامه.
2. الحصول على مفتاح API الذي يسمح بالوصول إلى البيانات المطلوبة (API Key).
3. إنشاء طلب HTTP باستخدام دالة fetch() في JavaScript.
4. تحديد URL للطلب HTTP وإضافة المعلمات المطلوبة.
5. التعامل مع الرد من API باستخدام دالة then() في JavaScript.
في النهاية، يسهِّل استخدام API على المطورين تطوير التطبيقات وإضافة مزايا جديدة دون الحاجة إلى كتابة كود من الصفر.
وهذه بعض النقاشات التي تشرح مفهوم ال API وكيف تستخدمه.
التعليقات