API Basics pt.1: Introduction - Arabic


مقدمة

دي تكملة لمجموعة مقالات مبادئ عمل الانترنت, انا هتكلم عن بعض المفاهيم المذكورة في المقالات السابقة ولكن في سياق الموضوع.

بالنسبة لمجموعة المقالات الجديدية هنتعرف على الـ API والـ هو حاجة لابد انك هتتعامل معاها بشكل او بأخر, سواء اذا كنت هتبني Web App باستخدام الـ API او هتضيف خدمة في الـ App بتاعك زي Google reCAPTCHA مثلآ.

تقدر تروح للعناوين بسرعة من هنا:

 

? What is an API

لما تعمل Login على موقع الكتروني, تقدر تفهم ان First name هو اسم الاول وان Last name هو اسم الوالد\اللقب ... سبب سهولة الخطوات الفائته اننا احنا البشر عندنا خبرة طويلة متخزنة في صورة بيانات في ادمغتنا, بسببها نقدر نترجم الـ بشنوفة وناخد الخطوة المناسبة للموقف وبالترتيب الصحيح.

وظيفة الـ API يخلي البيانات بنفس السهولة والفهم للكمبيوتر وبالتالي يقدر يتعامل معها بالشكل الصحيح, وبنائا عليه يقدر يتواصل مع أجهزة كمبيوتر تانية, مثلا يعرفهم ان هو عنده بيانات ويعرض لهم خطوات فهمها … بالظبط زي ما الانسان محتاج الخبرة الـ API بيوفر الخبرة للكمبيوتر.

بجانب ان الـ API بيوفر وقت ومجهود بشري كبير بمعنى, لو انت عاوز تقوم بنقل بيانات من موقع الكتروني X لموقع Y خلينا نقول نقل الـ First name والـ Last name, لو عدد البيانات محدود 10 اسماء مثلا, عملية النقل هتبقي سهلة في غضون 10 الى 15 دقيقة, طب لو الموقع ده بقاله سنين وعليه آلاف من الاسماء … مهمة زي دي تعتبر مملة ومحتاجة وقت طويل جدا ومطلوب الدقة, ده غير ان الـ First name والـ Last name ابسط مثال.

هل تعلم أن مستخدمي Facebook يتعدى المليار؟, هتاخد وقت قد ايه لنقل البيانات دي؟.

بسبب سهولة قراءة البيانات الـ بيوفرها الـ API للكمبيوتر بيتم كتابة برنامج بلغة برمجة عشان يقوم بالوظيفة دي نيابة عنا ... الـ هياخد منك ساعات طويلة هيقوم بيه البرنامج في دقائق وبدقة … كل المطلوب ان موقع X (الـ Server) يوفر API.

 

? How An API Is Used

لما بيتم توصيل عدد 2 System مع بعض:

  • SmartPhone مع SmartPhone

  • SmartPhone App مع Website

  • Website مع Website … وهكذا

بنقول على التوصيل ده Integration (دمج) … في حالة الـ Integration الـ System موفر الـ API هو الـ Server وطالب البيانات هو الـ Client, زي ما اتكلمنا فوق لما تحب تنقل بيانات من موقع X لموقع Y … موقع X هو الـ Server (عليه البيانات) و Y هو الـ Client (طالب البيانات).

مثال, لما تعمل تسجيل دخول للعبة Subway او اي برنامج على المحمول باستخدام Facebook, البرنامج بيكون الـ Client لانه طالب بيانات الـ User المتسجلة على Facebook … بينما موقع Facebook يبقى Server لان عليه بيانات الـ User ... موقع Facebook بيوفر API للبيانات المتخزنة عليه عشان تكون واضحة سهلة القراءة يقدر اي System يفهمه ويستخدمة.

 

The Protocols

لما تكلمنا فوق على مثال الـ Form وطريقة إدخالك للبيانات بناءا على خبرتك انت مشيت على Protocol معين بمعرفتك فين هتكتب اسمك (First Name) واسم الوالد\اللقب (Last Name).

الـ Protocol الـ انت اتبعته ترجمته كالتالي, فين هتستخدم الاسم الاول الـ على طول ببتنادي بيه وفين هتكتب الاسم الـ بيتم بيه تفريقك عن شخص تاني متسمي نفس الاسم الاول ده, كل شئ ليه Protocol عند التواصل.

تعريف الـ Protocol هو عبارة عن مجموعة من الـ Terms (شروط) بتحدد طريقة التواصل بين طرفين طرف مستقبل(Client) وطرف مُرسِل(Server) ... على سبيل المثال طريقة الكلام بين البشر ليها بروتوكول محدد, لما المتكلم يبدأ كلام بتعرف ان ده الوقت المفترض ان تسكت وتسمع, ولما يسأل سؤال ويسكت تعرف ان ده وقتك للرد ... وهكذا.

على عكس المرونة المتواجدة في طريقة التواصل بين البشر وبعضهم, الكمبيوتر محتاج الرسالة تكون محددة الترتيب والوضوح, شوف المثال التالي:

  • أسمي المفضل سارة
  • سارة اسمي المفضل

في كلتا الحالتين انت فهمت ان الاسم المفضل ليا هو سارة, بجانب انك عارف ان سارة اسم انثى ولا يليق كـ اسم ذكر.

الكمبيوتر مش بالمرونة دي في الفهم ولازم ترتيب الرسالة يكون واضح ومع توافق المتوقع من كل جزء, على سبيل المثال لو عاوز اقول الجملة السابقة للكمبيوتر, فالكمبيوتر متوقع التالي:

  • الاسم سارة
  • الـ Gender أنثى

 

النهاية

في المقال الحالي اتعرفنا على الـ API بنوع دردشة شوية وبـ أمثلة من الحياة الواقعية ... المقال التالي هنبدا نخش في الجانب الـ Technical ... ده نفس الاسلوب الـ اتكلمنا بيه في مجموعة مقالات مبادئ عمل الانترنت, يفضل انك تكون قريتها قبل ما تكمل المقال التالي.

المقال التالي: Protocols

مجموعة المقالات كاملة:

 

المراجع
Zapier