REST API

الـ REST APIs دلوقتي بقت حاجة أساسية في أي مشروع برمجي، سواء كان تطبيق ويب أو موبايل. طيب تعال نفهم واحدة واحدة، يعني إيه أصلًا REST API وليه مهمة؟ ⚡️

أول حاجة كلمة API هي اختصار لـ Application Programming Interface، وده معناه إن الـ API عبارة عن وسيلة بتسمح لتطبيقات مختلفة إنها "تتكلم" مع بعض. 💯

يعني إيه "تتكلم"؟ يعني تطبيق زي تطبيق موبايل أو ويب يقدر يطلب بيانات أو خدمات من سيرفر (الخادم) ويستقبل رد. طب إزاي بنعمل ده؟ هنا بييجي دور الـ REST.


كلمة REST اختصار لـ Representational State Transfer، وده نوع من أنواع الـ APIs اللي بيسمح لنا إننا نستخدم بروتوكول HTTP (اللي هو نفس البروتوكول اللي بنستخدمه لما ندخل على أي موقع) علشان نبعت طلبات للسيرفر وناخد ردود منه. 🔻


📌 إزاي ده بيشتغل بقى؟

الفكرة ببساطة إنك بتبعت حاجة اسمها request للسيرفر. الطلب ده ممكن يكون مثلًا إنك عاوز تجيب بيانات معينة زي قائمة المنتجات، أو إنك عاوز تضيف مستخدم جديد. السيرفر بيشوف الطلب بتاعك، وبيرجعلك response اللي بيكون فيه البيانات المطلوبة.

البيانات اللي السيرفر بيرد بيها بتكون في الغالب مكتوبة بصيغة اسمها JSON (JavaScript Object Notation)، ودي طريقة بسيطة ومنظمة علشان التطبيقات تقدر تفهم البيانات بشكل سهل وتشتغل بيها.


📌 ليه بقى REST APIs مهمة؟

✅ فصل الـ frontend عن الـ backend: بمعنى إن المبرمجين اللي شغالين على تصميم واجهة المستخدم (frontend) يقدروا يشتغلوا بعيد عن اللي شغالين على السيرفر والبيانات (backend). كل واحد بيبعت طلبات للتاني وياخد منه ردود من غير ما يكونوا مرتبطين ببعض بشكل مباشر.

✅ المرونة: الـ REST APIs بتخلي التطبيقات المختلفة (موبايل، ويب، برامج ديسكتوب) تقدر تتكلم مع نفس السيرفر. يعني مثلًا لو عندك موقع ويب وتطبيق موبايل، الاتنين ممكن يستخدموا نفس الـ API عشان يجيبوا نفس البيانات.

✅ لو عاوز تضيف مميزات أو تطور في التطبيق، مش بتحتاج تغير كل حاجة. فقط بتضيف نقاط جديدة (endpoints) في الـ API.


فبالتالي، الـ REST APIs بتخلي عملية التواصل بين التطبيقات والسيرفر سهلة ومرنة جدًا، وبتسهل على المبرمجين إنهم يبنوا مشاريع كبيرة بشكل منظم وسهل في التعديل. 🔥