شرح مبسط لل API

  • كمفهوم API

     

    كثر ما نسمع مصطلح API في عالم البرمجة و يعتبر هذا المصطلح هو المفتاح السحري للكثير من المشاكل و الاداة السحرية لتوفير الوقت و الحصول على اتصال لجلب خدمات ونتائج من طرف ثالث او لتعديل معلومات او معالجتها دون العمل على واجهة التطبيق الاساسية و كانها تشبه ما يعرف بال CONSOL الذي يتيح التعامل مع هذا الطرف الثالث دون اعادة جلب قاعدة بينات ووجاهة مستخدم كاملة !!

    📌 ما هو تعريف ال API و ما هي اهميته؟ - دعونا نتعرف علي هذا المصطلح بشكل اعمق و نكتشف كيف يمكنه ان يسهل مهام المطوريين و يوفر وقتهم 👇🧵 - Twitter

    مفهوم ال API كمصطلح tماهو ال Api 🤔؟

    هي إختصار “Application Programming Interface” الواجهة البرمجية للتطبيق.

    هي نقطة الوصل بين بيئة تطويرية معينة والمطورين , تتيح لهؤلاء المطورين الاستفادة من خدمات هذه البيئة بدون الحاجة إلى بناء كل شئ من الصفر .

    ✴ هدف ال API

    إخفاء التفاصيل المعقدة و إبراز طريقه سهلة من أجل تسريع و تحسين عملية بناء التطبيقات و المواقع.

    ✳ إستخدامات ال API في أنظمة التشغيل

    ✴ بشكل عام كل نظام تشغيل يوفر عدد كبير من ال Api الجاهزه من أجل إستخدامها من قبل المطورين

    لنفترض أنك تريد تطوير تطبيق لجهاز iPhone. و تريد تضمين متصفح في تطبيقك لن تحتاج إلى برمجه واجهة المتصفح من الصفر 😅

    يمكنك بكل سهولة إستخدام WebView Api من أجل تضمين واجهة الويب في تطبيقك.

    مثال آخر:
    إذا تريد تطبيقك أن يدعم إلتقاط صور أو فيديو من كاميرا الهاتف لن تحتاج إلى عمل واجهة الكاميرا الخاصة بك من الصفر و تفسير مدخلات جهاز الكاميرا و تحويلها إلى صورة .

    مبرمجين نظام التشغيل قاموا بكل هاذا العمل الشاق بدلا عنك و توفير واجهة Api سهله الإستخدام 😎

    ✴ أحد الفوائد الأخرى

    من إستخدام api النظام عند تحديث ال Api الخاص با الكاميرا من قبل مبرمجين النظام نستفيد من كل التحسينات و التحديثات الجديده في تطبيقنا الذي يستخدم Api الكاميرا

    ✴ هذا ينطبق على كل نظام تشغيل، هل تريد دعم مصادقة بصمة الإصبع على نظام Android؟ هناك Api جاهز من طرف النظام تستخدمه بكل سهولة بدون الحاجة إلى إعادة برمجة المستشعر في كل منتج Android مختلف.

    ✴ نجد في أنظمة تشغيل الهواتف الحديثة مثل Android امتلاك أذونات تفرض على التطبيقات من أجل الوصول إلى Api الهاتف.

    مثلا إذا أراد تطبيق الفيسبوك إستخدام Api الكاميرا يتم طلب إذن من مستخدم النظام من أجل السماح للتطبيق إستخدام Api الكاميرا إذا رفض المستخدم الطلب لا يمكن لفيسبوك تشغيل الكاميرا 😎

    ✳ إستخدامات ال API في الويب.

    لنفرض أننا نريد تضمين خرائط google في موقع الويب.

    سوف نتوجه إلى google map Api و نستخدم ال Api الجاهزه من طرف جوجل في موقعنا بكل سهولة 😊. إذا لم توفر جوجل Api جاهز سوف يضطر المطورين إلى إنشاء خرائطهم الخاصة من الصفر 😬.

    ✴ تتوفر الكثير من الخدمات المختلفة عبر الإنترنت التي توفر Api جاهزه. فهناك Api لطلب ترجمة نصية
    من خدمة الترجمة من Google، تعليقات من Facebook ، تغريدات من Twitter ،

     

    ✳ إستخدامات ال API في أنظمة التشغيل

    ✴ بشكل عام كل نظام تشغيل يوفر عدد كبير من ال Api الجاهزه من أجل إستخدامها من قبل المطورين

    لنفترض أنك تريد تطوير تطبيق لجهاز iPhone. و تريد تضمين متصفح في تطبيقك لن تحتاج إلى برمجه واجهة المتصفح من الصفر 😅

    يمكنك بكل سهولة إستخدام WebView Api من أجل تضمين واجهة الويب في تطبيقك.

    مثال آخر:
    إذا تريد تطبيقك أن يدعم إلتقاط صور أو فيديو من كاميرا الهاتف لن تحتاج إلى عمل واجهة الكاميرا الخاصة بك من الصفر و تفسير مدخلات جهاز الكاميرا و تحويلها إلى صورة .

    مبرمجين نظام التشغيل قاموا بكل هاذا العمل الشاق بدلا عنك و توفير واجهة Api سهله الإستخدام 😎

    ✴ أحد الفوائد الأخرى

    من إستخدام api النظام عند تحديث ال Api الخاص با الكاميرا من قبل مبرمجين النظام نستفيد من كل التحسينات و التحديثات الجديده في تطبيقنا الذي يستخدم Api الكاميرا

    ✴ هذا ينطبق على كل نظام تشغيل، هل تريد دعم مصادقة بصمة الإصبع على نظام Android؟ هناك Api جاهز من طرف النظام تستخدمه بكل سهولة بدون الحاجة إلى إعادة برمجة المستشعر في كل منتج Android مختلف.

    ✴ نجد في أنظمة تشغيل الهواتف الحديثة مثل Android امتلاك أذونات تفرض على التطبيقات من أجل الوصول إلى Api الهاتف.

    مثلا إذا أراد تطبيق الفيسبوك إستخدام Api الكاميرا يتم طلب إذن من مستخدم النظام من أجل السماح للتطبيق إستخدام Api الكاميرا إذا رفض المستخدم الطلب لا يمكن لفيسبوك تشغيل الكاميرا 😎

    ✳ إستخدامات ال API في الويب.

    لنفرض أننا نريد تضمين خرائط google في موقع الويب.

    سوف نتوجه إلى google map Api و نستخدم ال Api الجاهزه من طرف جوجل في موقعنا بكل سهولة 😊. إذا لم توفر جوجل Api جاهز سوف يضطر المطورين إلى إنشاء خرائطهم الخاصة من الصفر 😬.

    ✴ تتوفر الكثير من الخدمات المختلفة عبر الإنترنت التي توفر Api جاهزه. فهناك Api لطلب ترجمة نصية
    من خدمة الترجمة من Google، تعليقات من Facebook ، تغريدات من Twitter ،

     

  • API لمحة عامة عن مفهوم ال

    API أو ما يعرف (برمجة واجهة التطبيقات)

    فكر في واجهة برمجة التطبيقات كأنها قائمة  الطعام في مطعم !!

    توفر قائمة الطعام قائمة بالأطباق التي يمكنك طلبها ، بالإضافة إلى وصف لكل طبق.

    و عند تحديد الاطباق التي تريدها ، يقوم طاهي المطعم بالعملو التجهيز  ويقدم لك الأطباق الجاهزة.

    لا تعرف بالضبط كيف يقوم المطعم بإعداد هذا الطعام ، ولا تحتاج الى معرفة حقًا.

    نتيجة بحث الصور عن ‪api what is it ?‬‏

    وبالمثل ، تعرض واجهة برمجة التطبيقات مجموعة من العمليات التي يمكن للمطورين استخدامها ، بالإضافة إلى وصف لما يفعلونه.

    لا يحتاج مطوّر البرامج بالضرورة إلى معرفة كيفية إنشاء نظام تشغيل على سبيل المثال ، وإنشاء مربع حوار “حفظ باسم”.

    هم يحتاجون فقط إلى معرفة أنه متاح للاستخدام في تطبيقاتهم.

    ولكن هذه ليست استعارة مثالية في المثال السابق ، حيث قد يضطر المطورون إلى تقديم بياناتهم الخاصة إلى (واجهة برمجة التطبيقات) للحصول على النتائج ، لذلك ربما يكون الأمر أشبه بمطعم فاخر ، حيث يمكنك تقديم بعض المكونات التي سيعمل بها المطبخ.

    غالباً مانرى كلمة API تأتي مع المكتبات البرمجية وتأتي في المسميات وإذا بحثت عن معناها فستجد أنها إختصار لـ Application Programming Interface أي بالعربي (واجهة برمجة التطبيقات)

    نتيجة بحث الصور عن ‪api‬‏

    ولكن هذه الترجمة ترجمة عقيمة أي بمعنى أخر هي ترجمة حرفية فقط و هي لا تظهر حقيقة معنى API …

    عندما تبحث في المواقع الكبيرة وفي المشاريع البرمجية تمر عليك أشياء غريبة تحتوي على كلمة API فمثلاً تجد قواعد بيانات MySQL كاتبين مثلاً MySQL API و تجد Windows كاتبين Win32 API وتجد مثلاً موقع كاتبلك مثلاً My API وهكذا …

    طيب مامعنى هذا الكلام ؟

    قبل أن نجيب على هذا التساؤل يجب أن نعرف أولاً مامعنى API ؟

    نتيجة بحث الصور عن ‪api‬‏

    إذا ً مامعنى API ؟

    حرفياً هو كما ذكرنا بالأعلى …

    أما من حيث المفهوم فسأشرحها بمثال :

    API هي عبارة عن (غلاف) لتغليف شئ صعب من الداخل وجعله سهل من الخارج … :con2:

    وهذا كمفهوم ولكن كيف يطبق في البرمجة !!!؟ :deal:

    في حقيقة الأمر لو قال لك أحدهم أكتب لي برنامج يقوم بتحريك رأس الهارديسك :1power: ؟

    فسيكون جوابك هو (يانهار ازرق) :funny:

    والسبب هو إنك تعرف إن هذه العملية صعبة للغاية وإنت تعرف إنه بالإمكان عملها ولكن ستضطر إلى قراءة بعض المواضيع وستقوم بالبرمجة في مستويات أدنى وتقوم بإستخدام لغة الأسمبلي لكي تقوم بهذه العملية . (وهذا شئ واحد)

    ولزيادة التوضيح أكثر إليك المثال التالي :

    لو قلت لك أكتب برنامج على php يقوم بجمع العددين 2 و 5 فقط دون طباعة :

    فستقول هل أنت متنأكد  :anger1:

    كود PHP: [عرض] $c = 2 + 5;

    طيب تمام وهذا بشكل مبسط … ولكن عندما تعلمنا الكمبيوتر فإننا تعلمنا أنه هناك تحويل إلى الأسمبلي و من ثم إلى الآلة ومن ثم تنفيذ وزحمة وكلام من هذا القبيل …

    طيب الآن لو نزلنا مستوى أعمق بقليل وقلت لك نفذ عملية الجمع السابقة على لغة الأسمبلي :con2:

    كود: [عرض] mov eax,2
    mov ebx,5
    add eax,ebx ; eax=7
    طيب الآن سترى أن هذا مقرف وتقول لي ماهي الفائدة من هذا الكلام طالما أني أستطيع كتابة كود بي اتش بي مباشرة لجمع العددين (كلامك سليم)

    القصد هنا من هذا المثال هو لتوضيح معنى API ففي الحقيقة لا بد أن يمر الكود الذي كتبته أنت بكود الأسمبلي أي في النهاية نفس الكود اللي كتبته على أي لغة سيمر على الأسمبلي ولكن أنت لم تكتب أسمبلي وإنما كتبت شئ أخر بشكل مبسط ومن ثم قام اللغة التي تكتب عليها بإجراء بعض التعديلات لتنفيذ ماقمت أنت بكتابته .

    ومن هنا نفهم أننا كتبنا شئ سهل دون أن ندري أنه سيتحول إلى عمليات صعبة ومعقدة ومغلفة عن أعيننا ..

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

    ويمكن لأي شخص أن يبني API لشئ معين

    الآن سأريك العملي :

    أفترض الآن أنك انت الآن تريد كتابة برنامج للـ CD Writer أي برنامج يقوم بنسخ الإسطونات … ؟!!
    فأنت ستتعامل هنا مع الآلة لكي تنسخ وأنت تعلم أن العملية معقدة وصعبة لذلك ستقوم أنت بإجراء هذه العملية الصعبة جداً وتقوم بوضعها على شكل مجموعة من الدوال السهلة وداخل كل دالة عملية معقدة جداً ولكن الشخص الذي سيستخدم مجموعة الدوال هذه سيكون مخفى عنه جميع التفاصل المملة الخاصة بالتعامل مع الـ CD Writer وهو سيرى فقط مجموعة من الدوال بهذا الشكل مثلاً :

    كود: [عرض] function cdwriter_open()
    function cdwriter_burn()
    function cdwriter_stop()
    function cdwriter_close()

    الآن كما تلاحظ فأنت ترى دالة open لفتح محرك الأقراص وستقوم أنت بإستدعائها لفتح محرك الأقراص ولكنك فعلياً لاتعلم مدى العمليات المعقدة التي تقوم بها الدالة من الداخل لعمل اجراء فتح محرك الأقراص وهكذا لبقية الدوال

    وهنا تسمى مجموعة هذه الدوال بإسم cdwriter API فهي أعطتك الدوال بشكل مبسط وهي من الداخل تخفي صعوبات جمة بداخلها وهي تعمل مثل الصدفة بالضبط ..

    وأنت يمكنك عمل الـ API لأي شئ وليس للآلة فقط .. والدليل هو وجود مثلاً MySQL API وهي الدوال التي تقوم أنت فعلياً بإستخدامها في برامجك ضمن php فهل تعرف أنت مالذي يجري عندما تكتب عبارة مثل

    كود PHP: [عرض] mysql_query(‘SELECT * FROM mytable’);
    أعتقد أن كل ماتعرفه أنت هو أن دالة mysql_query هي للإستعلام ..

    أما مايحدث من الداخل من عمليات معقدة لإجراء الإستعلام فهي مخفية عنك وفي حقيقة الأمر تقوم هذه الدالة أولاً بقراءة النص الذي أدخلته لها بين القوسين ومن ثم تجري عليها بعض عمليات التفسير للكود المدخل بين القوسين وإذا تأكدت من صحته فإنها ستبحث عن جدول بإسم mytable وهذا الجدول يكون موجود في ملف وتتأكد من هذا الملف ووووو… إلخ

    نتيجة بحث الصور عن ‪api php‬‏

    لذلك هنا ستعرف أن API ستبعد عنك التفاصيل المملة والصعبة وتعطيك الزبدة :funny:

    ومن هذا المنطلق يمكنك أنت أنت تكتب API لتسهل عملية معينة هي في حقيقة الأمر صعبة للغاية .. ويمكنك كتابة الـ API على php أيضاً …

    وكمعلومة أخيرة فإن جميع الموديول الموجودة في php هي عبارة عن APIs مثل

    SQLite
    MySQL
    Session
    String

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر