ما هو التحسين التدريجي Progressive Enhancement ؟
نظرييُعد "التحسين التدريجي" (Progressive Enhancement) نهجاً تصميمياً يضمن لجميع المستخدمين - بغض النظر عن المتصفح أو الجهاز المستخدم - إمكانية الوصول إلى المحتوى والوظائف الأساسية للتطبيق.
يركز على تقديم تجربة أساسية تلائم الجميع، مع توفير ميزات وتحسينات إضافية للمستخدمين الذين يمتلكون متصفحات أكثر تطوراً أو اتصالات إنترنت أفضل.
يرتكز نهج التحسين التدريجي على هذه المبادئ الجوهرية:
-
يجب أن يكون المحتوى الأساسي والوظائف الجوهرية متاحةً على جميع المتصفحات.
-
يجب توفير جميع التخطيطات المتقدمة من خلال ملفات أنماط CSS خارجية.
-
يجب توفير جميع الوظائف المتقدمة من خلال ملفات JavaScript خارجية.
-
يجب احترام تفضيلات المتصفح الخاصة بالمستخدم.
يؤدي استخدام نهج "التحسين التدريجي" (progressive enhancement) إلى جعل تطبيقاتك أكثر قابلية للوصول، إذ لا ينبغي حجب المحتوى والوظائف الأساسية في البيئات غير المدعومة.
من حيث السرعة، يمكن لنهج "التحسين التدريجي" أن يساعد أيضاً في تحسين أداء تطبيقاتك.
سيظل بإمكان المستخدمين الذين يعتمدون على سرعات إنترنت أبطأ الوصول إلى المحتوى، لأن المتصفح سيقوم بتنزيل الموارد اللازمة أولاً.
فيما يتعلق بتحسين محركات البحث (SEO)، يمكن أن يساعد "التحسين التدريجي" (progressive enhancement) أيضاً في تعزيز ظهور تطبيقاتك.
ستتمكن محركات البحث من زحف محتوى تطبيقاتك لأن المحتوى الأساسي متاح في استجابة HTML الأولية.
على الرغم من أن البعض انتقد هذا النهج معتبرين أنه ليس واقعياً دائماً بالنسبة للتطبيقات التي تعتمد بشكل كبير على "جافا سكريبت" (JavaScript) في عملها، إلا أنه يظل ممارسة جيدة ينبغي اتباعها عند بناء التطبيقات.
أسئلة :
ما هو الهدف الرئيسي للتحسين التدريجي (progressive enhancement) ؟
1. لضمان اعتماد التطبيق بشكل كبير على JavaScript. ❌
2. لضمان قدرة جميع المستخدمين - بغض النظر عن المتصفح أو الجهاز - على الوصول إلى المحتوى والوظائف الأساسية للتطبيق. ✅
3. لضمان توفر أحدث الميزات المعقدة لجميع المستخدمين. ❌
4. لضمان إتاحة التطبيق فقط للمستخدمين الذين يستخدمون أحدث المتصفحات. ❌
أي مما يلي لا يُعد مبدأً أساسياً من مبادئ التحسين التدريجي (progressive enhancement) ؟
1. يجب احترام تفضيلات المتصفح الخاصة بالمستخدم. ❌
2. يجب توفير جميع التخطيطات المتقدمة من خلال ملفات أنماط CSS خارجية. ❌
3. يجب تجاهل تفضيلات المتصفح الخاصة بالمستخدم. ✅
4. يجب توفير جميع الوظائف المتقدمة من خلال ملفات JavaScript خارجية. ❌
ما هو الانتقاد الشائع الموجه لنهج "التحسين التدريجي" (Progressive Enhancement)؟
1. قد لا يكون هذا النهج واقعياً دائماً بالنسبة للتطبيقات التي تعتمد بشكل كبير على JavaScript في عملها. ✅
2. قد يؤدي ذلك إلى تجربة مستخدم أقل جاذبية على الأجهزة الحديثة، نظراً للتركيز على التوافق مع الإصدارات القديمة. ❌
3. يؤدي ذلك إلى تضخم صفحات الويب بأكواد وموارد زائدة لا تحتاجها المتصفحات الحديثة. ❌
4. يتطلب الأمر إجراء اختبارات مكثفة على المتصفحات القديمة والأقل كفاءة، وهي عملية قد تكون مكلفة وتستغرق وقتاً طويلاً. ❌