معرفة API و SDK
ما هي API؟
ما هي SDK؟
وكيف يرتبط الاثنان؟
كيف يمكن أن تساعد واجهات برمجة التطبيقات وأدوات تطوير البرامج (SDK) في تبسيط سير عمل تطوير تطبيقات السحابة؟
حسنًا ، لنبدأ بمثال.
لنفترض أنك تقوم بتطوير تطبيق جوال لعيادة بيطرية وأن الفكرة هي أن هذا التطبيق المحمول يسمح لموظف الاستقبال بالتقاط صورة لحيوان عند دخوله العيادةوأن التطبيق سيتواصل مع خدمة التعرف المرئي التي تعمل في السحابة.
والفكرة هي أن تقوم الخدمة بإعادة اسم الحيوان وعرض سجله.
فكيف نفعل هذا؟ كيف نتواصل بين تطبيق الهاتف وهذه الخدمة المستندة إلى السحابة؟
حسنًا هذا هو المكان الذي تأتي فيه واجهات برمجة التطبيقات و SDKs.
لنبدأ بالحديث عن واجهات برمجة التطبيقات وسنقارن بين الاثنين.
لذا أولاً وقبل كل شيء فإن واجهات برمجة التطبيقات (API) تدور حول التواصل.إذن هناك مجموعة من التعريفات والبروتوكولات السماح للتطبيقات أو الخدمات بالاتصال بالتطبيقات أو الخدمات الأخرى.
لذلك يمكنك اعتبارها جسرًا بين تطبيقك وعلى سبيل المثال خدمة التعرف المرئي المستندة إلى مجموعة النظراء.
إذن ماذا تعني "API" على أي حال؟
حسنًا ، كما قلت ، الأمر كله يتعلق بالتواصل. لذا تواصل بين خدمة وخدمة أخرى تطبيق وتطبيق آخر ،هذه هي الطريقة التي يتحدثون بها مع بعضهم البعض ثم الأمر كله يتعلق بالتجريد.
ماذا يعني "التجريد"؟
لذلك داخل خدمة الواقع الافتراضي في السحابة هناك على الأرجح آلاف الأسطر من التعليمات البرمجية التي تعمل هناك ،
أليس كذلك؟
وأنت بصفتك مطورًا لتطبيق جوال لا داعي للقلق بشأن ذلك
"حسنًا ، ما هي الطريقة التي يجب أن أتصل بها في هذه الخدمة للحصول على اسم الحيوان؟"
إذن ما تفعله API هو أنها تزيل كل هذا المنطق المعقد لذلك عليك فقط القلق بشأن الحصول على البيانات التي تحتاجها فقط.
هذا يبسط العملية.
والثالث واجهات برمجة التطبيقات موحدة هذا يعني أن هناك معايير محددة في الصناعة لتحديد API
وأن هناك بعض التنسيقات الشائعة لواجهات برمجة التطبيقات ربما سمعت عن SOAP أو GraphQL أو REST ،
والتي حقيقة ممتعة تعني "النقل التمثيلي للدولة" ،
إذن ما هي بعض العناصر الأساسية لواجهات برمجة التطبيقات؟
أولاً ، إرسال البيانات أو إرسال ما يسمى "طلب" من تطبيق الهاتف المحمول إلى الخدمة الواقع الافتراضي في السحابة
تحتاج إلى بعض العناصر المختلفة.
لذلك بالنسبة لطلب استدعاء REST API يجب أن يكون لديك ما يسمى العملية لذلك يمكن أن تكون طرق HTTP مثل POST ، PUT ، GET ، DELETE.
في هذه الحالة ستكون طريقة POST لأنك ترسل طلبًا إلى الخدمة والتي يمكن أن تتضمن شيئًا مثل ربما الاسم ملف الصورة التي التقطتها للحيوان.
ثم ستكون هناك معلمات ، وهذا اختياري.
لذلك في هذه الحالة يمكن أن يكون اسم ملف الصورة التي التقطتها لذلك ربما cat.jpeg - إذا كانت قطة التقطت صورة لها.
وأخيرًا ، ستكون هذه هي النقطة الأخيرة.
إذن هذا هو عنوان URL
خدمة التعرف المرئي التي تحاول التحدث إليها لذلك ربما يكون كما تعلمون ، تحليلًا مائلًا لعنوان URL.
هذا ما يشكل طلبًا. ما قد يبدو عليه استدعاء استجابة REST API الذي تتلقاه خدمة التعرف البصري؟ عادة ما يكون هذا شكل من أشكال البيانات الأولية لذلك قد يبدو الطلب مثل ، أو آسف ، الرد ، قد يبدو مثل هذا.
لذا لديك نوعًا ما كائن البيانات هذا الذي قد يتضمن كما تعلم النتيجة النوع الذي هو قطة وربما الاسم الذين في هذه الحالة قد يكونون "القفازات" دخلوا للتو العيادة.
رائع ، هذا نوع من العناصر الأساسية لماهية API.
بصفتك مطورًا كيف تستدعي واجهة برمجة تطبيقات في شفرتك؟
أنت لا تريد أن تقلق بشأن
تكوين طلبك مع كل هذه العناصر الأساسية للعمليات والمعلمات ونقاط النهاية والتعامل مع كائنات JSON الخام أليس كذلك؟
هذا هو المكان الذي تأتي فيه أدوات تطوير البرامج (SDK) وتتألق حقًا.
لذا لنتحدث عن SDKs ماذا يعني هذا؟
حسنًا هذه مجموعة أدوات تطوير البرامج SDK
بسيط ، صحيح؟
لذا ، يمكنك التفكير في مجموعة أدوات SDK حقًا
أدوات أو تعليمات برمجية تستدعي واجهات برمجة التطبيقات بالنيابة عنك.
لذا يمكنك التخصص في لغة برمجة واحدة بدلاً من الأخرى ،كما تعلم هناك حزم SDK بعدة لغات.
لذلك ربما يكون هناك SDK في Java ، في Node ،ربما اذهب أو بايثون مهما كانت لغة تخصصك فمن المحتمل أن يكون هناك SDK لك.
في احسن الاحوال لذا عد إلى مثالنا هنا في كيف يمكن أن تبدو SDK في هذا المثال؟
لذا باستخدام SDK دعنا نمضي قدمًا ونضع صندوقنا الصغير أدوات SDK في تطبيق الجوال
وفي هذه الحالة نظرًا لأنه تطبيق جوّال قل سنستخدم Java SDK عظيم
لذلك في Java SDK بدلاً من الاضطرار إلى التهيئة طلبك يدويًا باستخدام كل هذه الكتل الإنشائية التي يمكنك الاتصال بها بالفعل
مجرد طريقة ربما تسمى لا أعرف "Get Result" ، والتي ستطلق على هذه العناصر الأساسية المختلفة -العملية ، الاعددات
ويطلب منك ،
ستفعل ذلك نيابةً عنك وستقوم بطلب واجهة برمجة التطبيقات هذا نيابةً عنك برمز ردًا على ذلك ستحصل على رد لكنه لن يكون بالضرورة كائن JSON ،
يمكن أن يكون رمز ،
ربما كائن نموذج Java أصلي يسمى "تحليل كائن الاستجابة". التي تسميها طريقة "تحليل التعرف المرئي والحصول على النتائج".
تقوم بتمرير معامل ، وهو "cat.jpg" وهو اسم الملفالتي أرسلتها عبر خدمة التعرف المرئي واستجابة لذلك يمكنك في الواقع المضي قدمًا والاستعداد علامة في تطبيق الهاتف المحمول الخاص بك لتكون "Mitts".إذن ، هذه هي البيانات التي تلقيتها ككائن نموذج استجابة للتحليل في Java عبر SDK الخاص بك ويمكنك أن ترى أن القفازات دخلت المبنى.
لذلك نأمل أن يكون هذا النوع من الملخص لماهية API ، ما هو SDK ، إلى ما هما وكيف أنها حقًا أدوات أساسية في مربع أدوات تطوير التطبيقات السحابية.

تعليقات
إرسال تعليق