مقالات برمجية

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

ماهو الـ API ؟

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

الـ API اليوم لايمكن الاستغناء عنها ابدا فلايكاد موقع  تدخله الا وتجده يستخدم API مثلا عندما تجد موقع ما يدعم خاصية التسجيل عبر facebook فبتسجيلك عن طريق فيسبوك يتطلب api خاصة بالفيسبوك تمر عليها وهدا الوسيط api يقوم بالرد  للسرفر ادا كانت البيانات صحيحة ام لا.....ايضا خرائط google maps التي تجدها بالمواقع هي تستخدم api خاصة بسرفرات google ..حيث تسمح لصاحب الموقع بعرض جزء معين من الخريطة بموقعه دون الدهاب الى موقع google maps ...ايضا احوال الطقس واسعار  ومنحنيات البورصات التي تراها بالمواقع هده البيانات كلها يتم جلبها من الـ api  

ماهو الـ Rest API ؟

اختصاراً لـ Representational state transfer  هو نوع من أنواع الـ API حيث يقوم  هدا النوع بنقل البيانات  بين العميل والخادم  "Server و Client" عن طريق البرتكول HTTP,  فجميع العمليات تتم من خلال هذا البرتكول  وعندما نقول عمليات فنحن نقصد العمليات الشائعة بعالم البرمجة وهي CREATE  READ UPDATE DELETE  اختصارا لكلمةCRUD

عندما نقول أن REST PAI يقوم باستخدام البرتكول HTTP فهدا يعني باختصار شديد بدون تعقيدانك تقوم بارسال الأوامر عبر  رابط أو مسار عبر نمط معين سواء كان GET POST PUT DELETE PATH وغير دلك

أو شيء علينا ان نفهم  طريقة عمل الـ api بغض النظر على برمجتها , فتقريبا جميع الـ apis  الخاصة بالويب بالعالم تتفق على مجموعة من الأبجديات ومنها أنها تدعم لغة json أي انها تتبادل البيانات عن طريق لغة json . أيضا عليك ان تفهم كيفية عمل  نظام CRUD في API أو مايسمى اختصارا لـ CREATE READ UPDATE DELET 

يملك البرتكول HTTP  مجموعة من التعليمات methods تترجم من خلالها نوع الطلب المرسل من client الى server    حيث سيفهم الـ API من خلال مسار رابط http  +نوع الـ method  سيفهم مادا تريده بالضبط ويقوم بمعالجة طلبك وتتلخص تعليمات البرتكول http في التالي

  • GET تستخدم لجلب البيانات من السيرفر  (قراءة البيانات READ)
  • POST لإضافة بيانات  (انشاء محتوى CREATE)
  • PUT لتعديل بيانات موجودة بالفعل  (التعديل UPDATE)
  • DELETE لحذف بيانات موجودة بالسرفر  (الحذف DELETE)

 

فالـ API بشكله الافتراضي عندما يستقل مثلا تعليمة عن طريق POST سيفهم انك تقصد CREATE اي انك تريد اضافة بيانات..وعندما يستقبل تعليمة بنمط GET سيفهم انك تريد جلب وقراءة بيانات READ

أيضا عندما يستقبل تعليمة بنمط PUT سيفهم أنك تريد التعديل على بيانات شيء ما موجود سابقا بقاعدة البيانات وعندما يستقبل بيانات