ماهو API في البرمجة، ماهو ال web API
ماهو API بكل سهولة
اساسيات API تحتاج إلى معرفتها، التحكم في واجهات برمجة التطبيقات واستخدامها، إنشاء API ،ماهو استجابة JSON التي تحصل عليها عند زيارة مسار واجهة برمجة تطبيقات مستخدم GitHub في متصفحك؟
تعرف على API واجهة البرامج التطبيقية
وأنواعها بكل سهولة
واجهة برمجة تطبيقات API ، يعني أنه في كل مرة نزور فيها صفحة على الويب ، فإننا نتفاعل مع بعض من واجهة برمجة تطبيقات الخادم البعيد.هناك الكثير من الأشخاص لديهم فكرة غامضة أو غير صحيحة حول ما يعنيه هذا المصطلح الشائع إلى حد ما.
من الناحية الفنية ، فإن API تعني واجهة برمجة التطبيقات application programs interference: في مرحلة ما قامت معظم الشركات الكبيرة ببناء واجهات برمجة تطبيقات لعملائها ، أو للاستخدام الداخلي.
API key مفتاح
مفتاح واجهة برمجة التطبيق المعروف بمفتاح API؛ هو معرف فريد يستخدم لمصادقة مستخدم أو مطور أو برنامج استدعاء إلى API ، ومع ذلك، يتم استخدامها عادة لمصادقة مشروع مع API بدلا من مستخدم بشري.كيف يتم تفيسر API واجهة البرامج التطبيقية بلغة بسيطة يسهل فهمها؟
وهل هناك معنى أوسع من المعنى المستخدم في التطوير والأعمال فقط؟
أولاً ، دعنا نلقي نظرة على كيفية عمل الويب نفسه، WWW والخوادم البعيدة.
عندما نفكر في الويب ، هناك شبكة كبيرة من الخوادم المتصلة ، والتي يتم تخزين كل صفحة على الإنترنت في مكان ما على خادم بعيد. الخادم البعيد ليس بعيدا أو غامضا كما تظن ، إنه ببساطة مجرد جزء من جهاز كمبيوتر يتم تحديد موقعه عن بُعد، تم تحسينه لمعالجة الطلبات.
وبصورة أكثر وضوحا ، يمكنك تشغيل خادم على الكمبيوتر المحمول قادر على تقديم موقع ويب كامل إلى الويب (من المعروف ان الخادم المحلي هو ما يستخدمه المهندسون لتطوير مواقع الويب قبل إطلاقها للجمهور).
عندما تكتب www.facebook.com في متصفحك ، يتم إرسال طلب إلى خادم Facebook البعيد ، بمجرد أن يتلقى المستعرض الاستجابة ، فإنه يفسر الرمز ويعرض الصفحة.
بالنسبة إلى المتصفح ، المعروف أيضًا باسم العميل ، فإن خادم Facebook هو واجهة برمجة تطبيقات ، هذا يعني أنه في كل مرة تزور فيها صفحة على الويب ، فإنك تتفاعل مع بعض واجهة برمجة تطبيقات الخادم البعيد.
واجهة برمجة التطبيقات ليست هي نفسها الخادم البعيد - ولكنها جزء من الخادم الذي يتلقى الطلبات ويرسل الردود.
واجهات برمجة التطبيقات كوسيلة لخدمة عملائك
ربما تكون قد سمعت عن شركات تقوم بتجميع واجهات برمجة التطبيقات كمنتجات.
على سبيل المثال ، تبيع ، طقس تحت الأرض Weather Underground إمكانية الوصول إلى واجهة برمجة تطبيقات بيانات الطقس الخاصة بها.
مثال آخر : يحتوي موقع الويب الخاص بشركتك الصغيرة على نموذج يستخدم لتسجيل العملاء في المواعيد ، وانت تريد منح عملائك القدرة على إنشاء حدث تقويم جوجل Google تلقائيًا بتفاصيل ذلك الموعد.
استخدام واجهة برمجة التطبيقات (API): الفكرة هي جعل خادم موقع الويب الخاص بك يتحدث مباشرة إلى خادم Google مع طلب لإنشاء حدث بالتفاصيل المحددة.
سيتلقى الخادم بعد ذلك استجابة Google ومعالجتها وإعادة إرسال المعلومات ذات الصلة إلى المتصفح ، مثل رسالة تأكيد إلى المستخدم.
بدلاً من ذلك ، يمكن لمتصفحك غالبًا إرسال طلب واجهة برمجة تطبيقات مباشرة إلى خادم Google متجاوزًا خادمك.
كيف تختلف واجهة برمجة تطبيقات تقويم Google هذا عن واجهة برمجة التطبيقات لأي خادم بعيد آخر موجود؟
من الناحية الفنية ، الاختلاف هو تنسيق الطلب والاستجابة.
لعرض صفحة الويب بالكامل ، يتوقع متصفحك استجابة بتنسيق HTML ، الذي يحتوي على رمز عرضي ، في حين أن استدعاء واجهة برمجة تطبيقات تقويم Google سيعيد البيانات - على الأرجح بتنسيق مثل جي اس أو أن JSON.
إذا كان خادم موقع الويب الخاص بك يقوم بطلب واجهة برمجة التطبيقات ، فإن خادم موقع الويب الخاص بك هو العميل (كون متصفحك هو العميل عند استخدامه للانتقال إلى موقع ويب).
من ناحية المستخدمين لديك ، تسمح واجهات برمجة التطبيقات لهم بإكمال الإجراء دون مغادرة موقع الويب الخاص بك.
تستهلك معظم مواقع الويب الحديثة على الأقل بعض واجهات برمجة التطبيقات التابعة لجهات خارجية.
العديد من المشاكل لها بالفعل حل من طرف ثالث ، سواء كان ذلك في شكل مكتبة أو خدمة ، غالبًا ما يكون استخدام الحلول حاليا أسهل وأكثر موثوقية.
انه من المألوف أن تقوم فرق التطوير بتقسيم تطبيقاتهم إلى خوادم متعددة تتحدث مع بعضها البعض عبر واجهات برمجة التطبيقات.
يشار إلى الخوادم التي تؤدي وظائف مساعدة لخادم التطبيق الرئيسي باسم الخدمات المصغرة.
الخلاصة ؛ عندما تقدم الشركة واجهة برمجة تطبيقات لعملائها ، فهذا يعني فقط أنها أنشأت مجموعة من عناوين URL المخصصة التي تعرض استجابات بيانات خالصة - مما يعني أن الردود لن تحتوي على نوع النفقات التقديمية التي تتوقعها في واجهة مستخدم رسومية مثل موقع الويب.
هل يمكن تقديم هذه الطلبات من خلال متصفحك؟
في بعض الأحيان ، نعم؛ نظرًا لأن نقل HTTP الفعلي يحدث في شكل نص ، فإن متصفحك سيفعل دائمًا ما في وسعه لعرض الاستجابة.
مثال على ذلك، يمكنك الوصول إلى واجهة برمجة تطبيقات جيتهوب GitHub مباشرة باستخدام متصفحك دون الحاجة إلى رمز وصول.
إليك استجابة JSON التي تحصل عليها عند
زيارة مسار واجهة برمجة تطبيقات مستخدم
GitHub في متصفحك
(https://api.github.com/users/petrgazarov):
{"تسجيل الدخول": "petrgazarov"، "id": 5581195، "avatar_url": "https://avatars.githubusercontent.com/u/5581195؟v=3"، "gravatar_id": ""، "url": "https://api.github.com/users/petrgazarov"، "html_url": "https://github.com/petrgazarov"، "Followers_url": "https://api.github.com/users/petrgazarov / Followers "،" following_url ":" https://api.github.com/users/petrgazarov/following{/other_user} "،" gists_url ":" https://api.github.com/users/petrgazarov/gists {/ gist_id} "،" starred_url ":" https://api.github.com/users/petrgazarov/starred{/owner}{/repo} "،" subscriptions_url ":" https://api.github.com / users / petrgazarov / subscriptions "،" organization_url ":" https://api.github.com/users/petrgazarov/orgs "،" repos_url ":"
https://api.github.com/users/petrgazarov/repos "،" events_url ":" https://api.github.com/users/petrgazarov/events{/privacy} "، "ived_events_url": "https://api.github.com/users/petrgazarov/received_events"، "type": "User"، "site_admin": خطأ، "الاسم": "Petr Gazarov"، "company": "PolicyGenius"، "blog" : ""، "location": "NYC"، "email": ""، "hireable": null، "bio": null، "public_repos": 23، "public_gists": 0 ، "المتابعون": 7 ، "التالي": 14 ، "created_at": "2013-10-01T00: 33: 23Z"، "updated_at": "2016-08-02T05: 44: 01Z"}
كما ترى أن المتصفح قام بعرض استجابة JSON بشكل جيد.
استجابة JSON مثل هذه جاهزة للاستخدام في التعليمات البرمجية الخاصة بك.
من السهل استخراج البيانات من هذا النص ، ثم يمكنك أن تفعل ما تريد بالبيانات.
A هو "التطبيق"
للإغلاق ، دعنا نلقي المزيد من الأمثلة على واجهات برمجة التطبيقات.
يمكن أن يشير "التطبيق" إلى أشياء كثيرة ، فيما يلي بعض منها في سياق API:
قطعة برمجية بوظيفة مميزة.
الخادم بأكمله أو التطبيق بأكمله أو جزء صغير من التطبيق.
في الأساس ، يمكن أن يكون أي جزء من البرامج يمكن فصله بشكل مميز عن بيئته "A" في واجهة برمجة التطبيقات ، وربما يحتوي أيضًا على نوع من واجهة برمجة التطبيقات.
لنفترض أنك تستخدم مكتبة جهة خارجية في شفرتك. بمجرد دمجها في التعليمات البرمجية الخاصة بك ، تصبح المكتبة جزءًا من تطبيقك العام ، نظرًا لكونها جزءًا متميزًا من البرامج ، فمن المحتمل أن تحتوي المكتبة على واجهة برمجة تطبيقات تسمح لها بالتفاعل مع بقية التعليمات البرمجية الخاصة بك.
إليك مثال آخر: في التصميم الموجه للكائنات ، يتم تنظيم الكود في كائنات ، قد يحتوي تطبيقك على مئات العناصر المحددة التي يمكنها التفاعل مع بعضها البعض.
يحتوي كل كائن على واجهة برمجة تطبيقات (API) - مجموعة من الأساليب والخصائص العامة التي يستخدمها للتفاعل مع الكائنات الأخرى في تطبيقك.
قد يكون للكائن أيضًا منطق داخلي خاص ، مما يعني أنه مخفي من النطاق الخارجي (وليس واجهة برمجة التطبيقات).
ارجو أن المعنى أصبح أوضح لواجهة برمجة التطبيقات بالإضافة إلى الاستخدامات الأكثر شيوعًا للمصطلح اليوم.
تعليقات
إرسال تعليق
مرحبا بك على "manaliiblog" نتشرف بارائك وملاحظاتك الخاصة بمواضيع مدونة منالي. يمكنك ترك تعليقك هنا👇🏼