• هل أبني تطبيقات الويب ذات الصفحة الواحدة SPA
أو تطبيقات الويب متعددة الصفحات MPA??
• أولا ما الفرق
تطبيق الويب ذو الصفحة الواحدة يحتوي كما هو الاسم
على صفحة واحدة يُعيد تكوينها حسب اختيار
المستخدم. يقوم بعمل ذلك بجافا سكريبت
بينما التطبيق متعدد الصفحات يُحمّل صفحة
بالكامل مع كل طلب مهما كان الطلب صغيرا
2 كيف يعمل التطبيق ذو الصفحة الواحدة؟
* عندما يفتح المستخدم التطبيق يقوم المتصفح بتنزيل
كل الملفات المطلوبة من HTML وCSS وجافا سكريبت.
* بعدها يستخدم التطبيق طريقة طلبات غير متزامنة Async للتحدث مع الخادم لتحميل البيانات حسب
الحاجة. تستخدم عادة Json كصيغة لهذه البيانات.
3من أمثلة التطبيقات ذوي الصفحة الواحدة:
- جي ميل GMail
- فيسبوك Facebook
- تريلو Trello
الملحوظ فيها أن عنوان الصفحة
في المتصفح لا يتغير أثناء التصفح.
4من مزايا تطبيق الصفحة الواحدة:
- الأداء وتجربة العميل ممتازة لأن التطبيق
لا يحمل الصفحة كل مرة فيشعر المستخدم
بردة الفعل السريعة من التطبيق مع كل تفاعل
- الفصل بين خلفية التطبيق ومقدمته تجعل من
السهولة العمل على الأثنين في نفس الوقت
ويجعل إمكانية نقل التطبيق إلى منصة أخرى سهل
5من عيوب تطبيق الصفحة الواحدة:
مستوى التعقيد قد يصبح مرتفعا وذلك لأسباب
كثيرة مثل كثرة إطارات العمل في هذا المجال وعمر
بعضها القصير وقلة خبرة المبرمجين في هذا النوع
من التطبيقات وأيضا بسبب هيكلة هذا النوع
من التطبيقات التي لازالت تنمو بإستمرار.
6كيف تبني تطبيق ذو صفحة واحدة:
أهم قرار هو إختيار إطار العمل الذي يمكن الاعتماد
عليه بسبب شيوعه وكثرة الدعم حوله وبسبب
كثرة المكتبات المساعدة له.
أشهر الإطارات الآن هم Angular , Reactو Vue.
7ماهو التطبيق متعدد الصفحات ؟
بدأ الويب بهذا الشكل حيث كانت طرق الطلبات
الغير متزامنة مثل Ajax غير متوفرة بعد
- التطبيق يٌحمّل صفحة عند كل طلب ويقوم بعرضها
- حتى لو كان التعيير في الصفحة صغيرا ، فإن
المتصفح يطلب الصفحة من الخادم ويعرضها
كلها كأنها لم تكن موجودة مسبقا
8كيف يعمل التطبيق متعدد الصفحات؟
يقوم المتصفح بطلب كل صفحة عند زيارتها
فيرسل الخادم له الHTML اللازم بالإضافة
إلى الCSS والجافا سكريبت والصور.
ومن أمثلة هذا النوع:
- أمازون Amazon
- ميديوم Medium
- آي أم دي بي IMDb
9من مزايا التطبيقات متعددة الصفحات:
- هيكلة هذه التطبيقات أكثر نضوجا
وثباتا وتنوعا وذلك يُسهل عملية الصيانة مثلا.
- قابلية إيجادها من قبل محركات البحث (SEO)
أفضل بسبب الWeb Crawlers التي
تتعامل مع الصفحات التي تبنيها الخوادم بشكل أفضل.
- أرخص من حيث تكلفة البناء بشكل عام
10من عيوب التطبيقات متعددة الصفحات:
- الإداء في البرامج الصغيرة والمتوسطة جيد
ولكن قد يصبح مشكلة إذا كان التطبيق كبيرا
وتحتاج أن تٌشعر المستخدم بردة الفعل السريعة.
- خلفية ومقدمة التطبيق متداخلة بشكل كبير
بحيث عادة ما تكون مشروع واحد فيصعب
أيضا نقل التطبيق إلى منصات جديدة.
11كيف تبني تطبيق متعدد الصفحات؟
اختيار اللغة هو المهم حيث عادة ما تكون اللغة
ما تحدد إطار العمل المستخدم في التطوير. أختر اللغة
المناسبة لتطبيقات الويب والتي تكون مزودة
بإطار عمل قوي ومدعوم. بالطبع أختر اللغة أيضا
التي تمرست فيها إلا إذا كانت لا تدعم الويب.
12أيهما أختار؟ بشكل عام :
- التطبيق ذو الصفحة الواحدة يناسب السيناريوهات
التي يكون فيها المستخدم كثير التفاعل مع التطبيق
مثل تطبيقات التواصل والتعاون.
- عندما يكون التطبيق معتمد كثيرا على المحتوى
وعلى إمكانية ايجاده على الانترنت عن طريق
محركات البحث فالتطبيق متعدد الصفحات أفضل
13هل يمكن استخدامهما جميعا؟
نعم، هناك بعض الأنظمة تحاول أن تحصل على أفضل
ما في العالمين. فتعتمد مثلا هيكلة التطبيق متعدد
الصفحات لقوته في هذا المجال ومن ثم تجعل من
بعض الصفحات تفاعلية وسريعة ردة الفعل
عن طريق جعلها كتطبيق ذو صفحة واحدة.
تعليقات
إرسال تعليق