M3aarf Telegram

تعلم البرمجة

ما هو مفهوم RESTFUL وأستخدامه في ال API - ازاى البيانات بتنتقل بين لغات برمجة مختلفة

20 أبريل 2019

ما هو مفهوم RESTFUL وأستخدامه في ال API - ازاى البيانات بتنتقل بين لغات برمجة مختلفة

الاندرويد ازاى بيكلم لغة زى ال php ويكلم لغة زى c++
واللغات بتاعت البرمجة بتكلم بعض ازاى يا تاراه ؟
اخر كام سنة مع الحياة الي بقت كلها ابلكيشنز موبايل و كمبيوتر و ويب
بقت الابلكيشن بتحتاج الداتا تنتقل بينهم
لكن بطبيعة الحال لو انت متابع منشوراتنا السابقة هتعرف ان كل نظام له لغة 
زي ال iphone شغال بحاجة اسمها ios
وزي السامسونج شغال بحاجة اسمها android
والكمبيوتر الي انت بتشتغل عليه ممكن يشتغل بلغات برمجة مختلفة تماما
زي ال "سي شارب" و الجافا 
ومواقع الانترنت شغاله بحاجه تالته خالصه بلغات زي php / python / asp
وديما بنحتاج نبعت بيانات من موقع زى الانستجرام 
للابلكيشن على الموبايل الي معاك مهو في الاخر الابلكيشن بتاع اسنتجرام
الصور الي بتجيلك مش بتكون في الموبايل بتاعك بتكون موجودة
في حاجه اسمها Database وهنتكلم عنها ان شاء الله في بوست منفصل
الداتا بيز دي ممكن تكون شغاله بلغة زى ال MySql او اى لغة قواعد بيانات تانيه
فازاى موبايل مكتوب بلغة اندرويد يتكلم مع جهاز تاني شغاله بلغة مختلفة 
اكيد محتاجين حد في النص زي المترجم
لو حد عربي وحد فرنساوي بيتكلموا لازم مترجم في النص ياخد كلام دا ويحوله 
وهكذا العكس الحاجة دي بقى اسمها REST 
اختصار لجملة " Representational state transfer "
يعني بالبلدي كده مسؤال انه ينقل كده حالة الابلكيشن دلوقتي لك من اى مكان
سواء بقى من ابلكيشن على موبايل تاني 
او من داتا بيز موجودة في لندن
او من جهاز كمبيوتر في الشارع الي وراك ^^ 
ال REST مسؤالة عن نقل البيانات عموما ودي مفهوم وليست لغة برمجة 
مميزات ال REST 
- فصل تام بين طبقة الClient و ال Server بحيث ميفكرش ال Server 
غير في البيانات الي هتطلع منه او الي هتتعدل منه مش في الشكل بتاعها
لان في بعض البرامج الجزء الخاص بالبيانات بيكون جزء من الابلكيشن
فالجهاز بتاع المستخدم بيكون مهتم يطلع البيانات دي ومهتم بشكلها الخارجي
يعني مثلا انت محتاج 60 بروفايل لناس اصحابك على الفيس بوك
ال REST مسؤاله تجيب البيانات الرئيسية زي
الاسم + رقم التليفون + الصورة الشخصية وشوية بيانات تانيه 
ويسلمها بقى لموبايل اندرويد يوزعها بشكل يناسب حجم الموبايل
او يسلمها لموقع انترنت يوزعها بشكل يناسب حجم الموقع 
او يسلمها لاي جهاز باي لغة في العالم على حسب انت عامل ال REST ازاى
وبتقدر عن طريقها تعمل العمليات دي CRUD 
يعني 
Create إنشاء البيانات
Retrieve عملية طلب مشاهدة البيانات
update عملية تعديل البيانات 
delete عملية إزالة البيانات 
ودول ال 4 عمليات الرئيسية الي بتتم من خلال ال REST
وبنخرج من المفهوم والميزة دي بحاجه جامدة جدا اسمها API
ودا يا سيدي لما حضرتك تخش على موقع ملهوش علاقه بالفيس بوك
وتقدر تسجل فيه ب أستخدام الفيس بوك
ساعتها الموقع دا بيطلب من الفيس بوك انه يديله Login api
يعني الناس الي عامله تسجيل دخول واكونت على الفيس بوك
بتقدر تخش موقع تاني عادي ب استخدام ال api بتاع الفيس بوك 
والموقع نفسه الي انت بتسجل عليه ميعرفش اى شئ عن النظام الي مبني به
ال Facebook api هو فقط بيستخدم معلومات بسيطة بيبعتاله الفيس بوك
زي اسمك وصورتك وايميلك فقط لا غير او على حسب البيانات المتفق عليها 
وقيس على دا معلومات كتيرة جدا بتقدر تعملها عن طريق ال api
من الاخر ال api هو كوباية الكوكتيل الحلوة الي بتشربها
من غير ما تبقى عارف الكوكتيل دا اتعمل ازاى واتغسل ازاى واتعمل فين
انت فقط بتستخدم حاجه قدمك دون معرفة الخلفيه البرمجية بتاعتها 
وبكده اللغات بتقدر تكلم بعضها