VOL7: Learn the difference between SPA vs MPA and PWA vs Native Mobile Apps
كلنا عارفين انه في عالم التطبيقات في Web Apps وفي Mobile Apps ، بس في Web Apps عاملة نفسها Mobile Apps وهي دي ال PWA
فورقة وقلم وتعالوا نشوف حكايتها ايه ال PWA دي وتتخلف ازاي عن ال Native Mobile Apps وازاي نستفاد منها
حكاية الـ Progressive Web Apps
الـ Progressive Web Apps هي مواقع "Web Applications" عادية بنضيف عليها تعديلات بسيطة جدًا عشان تكون متناسبة انها تشتغل علي الموبايل وتتحط على الـ Home Screen زي تطبيق الموبايل العادي وتدي تجربة شبيهة جدًا ليه.
ودي مع انها فكرة بسيطة لكنها ذكية جدًا لعدة أسباب:
تجربة مستخدم شبيهة بال Native Application بدون تكلفة تطوير تطبيق الموبايل اللي غالبًا بتكون عالية جدًا في الوقت والمجهود والتكلفة المادية.
ال PWA بتشتغل علي ال Browser لأنها موقع ويب بالأساس فبتكلف مساحة تخزين أصغر من الـ Native Applications
التطبيقات دي بتدعم ال Responsiveness وبالتالي حجمها يتناسب مع اختلاف شاشة العرض بسهولة.
مجددًا هي موقع ويب وبالتالي مش محتاجة تنزل الـ App Store ودي مفيد لسببين:
ال App Store بيفرض رسوم على المطورين عشان يعرضوا تطبيقاتهم عليه, الرسوم اللي ممكن تكون كبيرة جدًا في بعض الاحيان زي حالة Apple App Store
ال App Store بيحجّم ظهور وانتشار ال App Store بعكس المواقع اللي نسبة ظهورها أعلي كونها متوفرة وظاهرة على كل محركات البحث
Single vs. Multi Page Application
الـ Web Applications تعد من أهم البرمجيات التي لا يمكن الاستغناء عنها في حياة الإنسان المعاصر وبتثبت كل يوم مدى فعاليتها وتأثيرها, و كمبرمج معاصر محتاج تعرف الفرق بين Single Page Application أو Multiple Page Application لأنه أول قرار بتاخده في برمجتك للموقع.
فورقة وقلم و تعالوا نكتشف واحدة من أهم مفاهيم عالم الـ Frontend والـ Web
بما اننا بنتكلم عن الـ Web يبقى حياتنا كلها هتبقي في الـ Browser, المتصفح بشكل عام بيشتغل بنظام الـ Client-Server فمع كتابتك لل URL الخاص بالموقع بيبتدي يكلم ال Server عشان يجيب صفحة الموقع وهنا بيت القصيد.
كيف يتم تحميل الموقع في المتصفح
ال Server بيبعت الموقع علي شكل ملف HTML وبيقوم المتصفح بإظهار الملف ليك عن طريق عملية ال Parsing and Rendering ولو لاقى انه محتاج External Resources تانية زي ال CSS Files, Javascript , Images بيقوم بتحميلها.
REST Vs. GraphQL
غالبًا لو عملت APIs قبل كده هتكون استعملت REST وهيبقي عندك زميلك اللي عمال يقولك ما تيجي نشتغل بـ GraphQL زي الناس اللي هناك دي..فتعالى نعرف الفرق بين اثنين من أشهر أنواع الـ API Architectures الأول لازم نعرف أن الاتنين ليهم نفس أساس العمل وهو ان عندي Server ببعتله HTTP Request فيجاوب عليا بالمعلومات اللي طلبتها. 👌
REST APIs
الـ REST بينظم ال API علي شكل Endpoints وبيقولك تقدر تناديها ب عمليات محددة أشهرهم الـ GET, POST, PUT, DELETE وهيرد عليك بـ Standard Response
GraphQL
بينما الـ GraphQL بيقولك هي Endpoint واحدة تقدر تكلمها وتوصف انت عاوز ايه بالظبط من خلال استعمال Query وهيرد عليك بـ Standard Responseطب ما والله نفس الشيء ايش استفدت؟ الـ GraphQL بيحل مشاكل ظهرت مع استخدامنا للـ REST في كل الأنظمة لسهولته والطبيعي انه مش حل واحد يناسب الكل