التطوير المتقدم (Progressive Enhancement)
دعوني بداية أقتبس تعريف المصطلحين كما وردا في المقال بعد إعادة ترجمتهما:
الاستراتيجية السابقة: التراجع الرشيق Graceful Degradation: العمل على تحقيق الاستفادة القصوى من إمكانيات المستعرض والموارد المتوفرة، ليتم بعد ذلك إيجاد بدائل لضمان دعم المستعرضات ذات المزايا الأقل. (الكفاءة أولاً ثم التوافقية)
الاستراتيجية الجديدة: التحسين المستمر Progressive Enhancement: العمل على ضمان عمل واجهات الاستخدام بفاعلية على أكبر طيف ممكن من الأجهزة والمستعرضات، ليتم بعد ذلك إدخال تحسينات بحسب قدرة وحداثة الموارد المتوفرة. (التوافقية أولاً ثم الكفاءة)
شخصياً أقدم الكفاءة على التوافقية، علماً بأنني أقصد بالتوافقية توافقية الشيفرة مع الأجهزة والمستعرضات القديمة -تماماً كما ورد في المقال-، وليس توافقيتها على مختلف المنصات الحديثة المتنافسة.
ببساطة: ما أن تتوفر تقنية معينة على كافة المنصات الحديثة، فسأسارع لاعتمادها دون النظر إلى الوراء!
لكني لا أقضل ربط مفهوم استراتيجية التحسين المستمر مباشرة بمبادئ قابلية الوصول (Accessibility) والترميز الدلالي (Semantic Markup) وفصل ملفات التنسيق (CSS) والإضافات البرمجية (JavaScript) عن الترميز الأساسي (HTML)،بل ببساطة: ربطها بالموارد والتقنيات المتاحة.
أما تلك المبادئ فهي مبادئ ثابتة ينبغي على الجميع الالتزام بها قدر المستطاع، بصرف النظر عن الاستراتيجية المتبعة، وأعتقد أن هذه المبادئ هي أقرب ما تكون إلى مبادئ البرمجة كائنية المنحى OOP، وقد لخصتها هنا في معرض تعريفي بمشروع RichStyle:
التعليقات