نهاية Internet Explorer

تأثير إيقاف دعم Internet Explorer على العملاء والمطوّرين في Maersk.com

steveworkman
steveworkman

اسمي "ستيف وركمان"، وأنا المهندس الرئيسي في Maersk.com. شركة Maersk هي الشركة الرائدة عالميًا في الخدمات اللوجستية المتكاملة لسلسلة الإمداد، وتساعد العملاء على نقل البضائع حول العالم منذ 118 عامًا، مع الحجوزات على الإنترنت لأكثر من عشرين عامًا. في بداية شهر أيار (مايو) 2022، توقّفت شركة @Maersk رسميًا عن إتاحة استخدام متصفّح Internet Explorer (IE) على أنظمتها الموجّهة للعملاء، وذلك بعد أن أوقفت Microsoft رسميًا استخدام IE في حزيران (يونيو) 2022. هذه هي نهاية حقبة مهمة من الويب وبداية حقبة جديدة.

لقد انضممت إلى شركة Maersk في عام 2018، وكان مشروعي الأول هو إنشاء شريط تنقّل شامل جديد. كان يجب أن يكون قابلاً للاختبار بالكامل، وسهل النشر والتحديث على مستوى العالم بدون وقت توقف، وأن يكون متوافقًا مع الأجهزة الجوّالة أولاً، وأن يكون متجاوبًا، وأن يتيح استخدام علامات تجارية متعددة، وأن يكون قابلاً للضبط، وأن يكون متوافقًا مع 11 لغة، وأن يتيح استخدام Internet Explorer 9.

في عام 2018، كان نظام التشغيل Windows 7 والمتصفّح التلقائي IE9 لا يزالان رائجَين جدًا، ولم يصل نظام التشغيل Windows 10 والمتصفّح IE11 إلى الحدّ الأدنى للاستخدام إلا في أوائل عام 2020 (وفقًا لعدّاد الإحصاءات). عند الاطّلاع على بياناتنا، وجدنا قدرًا كبيرًا من المعاملات الواردة من العملاء الذين يستخدمون IE9 أو IE11 في وضع التوافق، وهو أمر أسوأ. كانت هذه الزيارات موجهة بشكل كبير إلى الأسواق الناشئة وفي المناطق التي كانت قاعدة عملاء Maersk تنمو فيها بسرعة.

إذا لم تعمل قائمة التنقّل، سيكون من الصعب العثور على زر تسجيل الدخول. إذا لم ينجح تسجيل الدخول، لن يتمكّنوا من حجز الحاويات، وستواجه فجأة مشكلة كبيرة بسبب المتصفحات القديمة.

لحلّ هذه المشكلة، اتّخذنا موقفًا متّبعًا للتحسين التدريجي في عنصر التنقّل وجميع تطبيقات الويب المستقبلية. يمكننا إجراء ذلك، ولكن قد تكون هناك قيود وعمليات polyfill كبيرة لتنفيذ ذلك. على سبيل المثال، لا يتيح متصفّح Internet Explorer واجهة برمجة التطبيقات Fetch، ولكن هناك عمليات polyfill تعود إلى IE10 ونضيفها إلى هذه المتصفّحات. بالنسبة إلى IE9، تم ترميز طلبات XMLHttpRequest في ملف منفصل، لكي لا يتم تحميله إلا في الحالات التي يتعذّر فيها إضافة العناصر البرمجية إلى fetch.

عندما حان وقت إيقاف دعم IE9، عندما لم يبق سوى عدد قليل من العملاء، تمكّنا من إزالة هذا الرمز من تطبيقاتنا بأقل جهد ممكن وبأكبر فائدة ممكنة للمستخدمين على المتصفّحات الحديثة.

مع استمرار عملية التحول الرقمي في Maersk، أعدنا بناء العديد من أجزاء الموقع الإلكتروني باستخدام واجهات أمامية صغيرة تعمل بتقنية VueJS. كانت Vue تتضمّن الكثير من الميزات التي جعلتها متوافقة مع المستقبل، من خلال إعداد مُعدّ مسبقًا رائع لتحسين حِزم الترميز وإزالة العناصر غير الضرورية من البنية، إلى وضع حديث يتم فيه إنشاء إصدارَين من التطبيق، أحدهما يستخدم أحدث بنية ES Module للمتصفحات الحديثة، والآخر للتطبيقات القديمة التي لا تفهم وحدات ES6. يتم عرض هذا الإصدار القديم للمتصفّحات مثل Internet Explorer، وغالبًا ما يكون حجم حِزمة polyfill المضغوطة بتنسيق gzip أكبر من 100 كيلوبايت بسبب عدد الميزات التي لا يملكها المتصفّح.

تبيّن لنا أنّه يمكننا أيضًا استخدام معظم تقنيات تنسيق CSS الحديثة، مثل شبكة CSS، وذلك بفضل Microsoft التي بدأت المواصفات منذ فترة طويلة في IE10. وبمساعدة autoprefixer وهذه المقالة حول CSS Tricks لمساعدتنا في إتقان تسمية المناطق المختلفة من الصفحة، حصلنا على نظام تنسيق خفيف الوزن ومناسب لأي مشروع ومرن للغاية. ومع ذلك، كانت هناك مشاكل في التوافق استغرق حلّها الكثير من الوقت.

لقد عدنا فجأة إلى مرحلة تحليل التكلفة والفائدة، ولكن هذه المرة لأي إصدار من IE، وكما هو الحال مع IE9، هناك مفاضلة بين توفير الدعم للجميع وقضاء أسابيع من وقت التطوير المضني لكل مشروع. وبما أنّنا على ثقة من أنّ استخدام متصفّح حديث يقدّم تجربة أفضل لعملائنا، شجّعنا المستخدمين على الابتعاد عن Internet Explorer عند زيارة الموقع الإلكتروني. تبيّن لنا أنّ هذا الإجراء كان ناجحًا بكميات صغيرة للعملاء النشطين الذين اعتادوا فتح IE للتفاعل معنا. كانت هذه الرسالة جيدة، ولكنّها ليست كافية لإجراء العمليات الحسابية.

مع تراجع عدد الزيارات الواردة من Internet Explorer، قرّرت شركة Maersk اتّباع نهج العديد من الشركات الأخرى قبلها وإنهاء الدعم الرسمي لنظام التشغيل Internet Explorer، على الرغم من أنّ الأرقام لا تزال تشير إلى أنّنا يجب أن نوفّر الدعم له. لماذا الآن؟

موقع إلكتروني يتضمّن شريط تنقّل أفقيًا
الصفحة الرئيسية لشركة Maersk التي تتضمّن مكوّن التنقّل العام

ببساطة، تمّت ترقية منصة الويب، ولا يمكن لمتصفّح IE11 تنفيذ الإجراءات التي نحتاجها، حتى مع استخدام عدد صغير من أدوات الملء. خذ عنصر التنقّل، وهو عنصر مخصّص في منصات الويب الحديثة، مع أنماط مُدمجة خاصة به، ويتم تشغيله بواسطة متغيّرات CSS وطلبات البحث عن الحاوية حتى يتمكّن من التحكّم في كل شيء في عنصر واحد. بدون هذه الأجزاء من المنصة، يمكن تغيير أسلوب هذه المكوّنات بالكامل من التطبيق، ويمكن أن تتسرّب الأنماط إلى مكوّنات أخرى أو إلى التطبيق مرة أخرى. هناك أدوات polyfill تتيح لك محاكاة معظم الميزات الواردة هنا، بما في ذلك العناصر المخصّصة وShadyCSS وShadyDOM وعنصر template.

من الناحية العملية، تعمل هذه العناصر القابلة للاستبدال بشكلٍ رائع مع المكوّنات المنعزلة، ولكن عند دمج مكوّنات متعددة في تطبيق معقّد، يتوقّف متصفّح Internet Explorer عن العمل ويظهر شاشة بيضاء لعدّة ثوانٍ بينما يحاول وقت تشغيل JavaScript احتساب شجرة الأنماط للمرة الأربعين. باختصار، تم التأثير بشدة في تجربة المستخدم لكي يتوافق التطبيق مع المتصفّح.

في السابق، كانت هناك انقطاعات صغيرة، مثل عمليات ملء البيانات التي قد تضيف نصف ثانية إلى اللوحة الأولى، ولكن ليس أكثر من ذلك. كان هذا الإجراء مختلفًا، وأصبحت هذه التطبيقات غير قابلة للاستخدام. لا يمكن للعناصر القابلة للتضمين إلا أن تؤدي دورًا محدودًا عند مواجهة تعقيد منصة الويب الحديثة.

هل لديك فكرة عمّا حدث منذ إيقافنا استخدام IE؟ قليل جدًا. لم يتم تسجيل أيّ عدد كبير من طلبات دعم العملاء أو ملاحظات سلبية. أصبح مهندسونا أكثر سعادةً، وأصبحت لدينا مسار ترقية إلى Vue 3 (لا يتوافق مع IE11 لأنّه لا يمكن إضافة مكونات إضافية إلى عنصر الوكيل) وأصبحت حِزمنا أصغر حجمًا. تتيح إتاحة متغيّرات CSS والخطوط المتغيّرة إمكانية إنشاء مظاهر أبسط على مستوى العلامات التجارية، كما أنّ إمكانية استخدام الرموز داخل مكوّنات الملف الواحد في Vue تقلّل أيضًا من التعقيد المعرفي، ما يمنح المطوّرين تجربة أفضل.

من منظور العملاء، يستمر استخدام IE في الانخفاض ببطء. لم يتم إيقاف Internet Explorer من الموقع الإلكتروني، ولكن مع بدء عملية التحسين التدريجي، ستتوقف الميزات والتطبيقات عن العمل. سيستفيد العملاء من التطورات في التكنولوجيا التي نستخدمها، ما يمنحهم تجربة أكثر اتساقًا من الموقع الإلكتروني، حيث يتم دمج أفضل الممارسات وسهولة الاستخدام والتصميم في نظام تصميم متطور يستند إلى Lit، مع إمكانية التشغيل التفاعلي الكامل مع أي إطار عمل متاح الآن أو في المستقبل.

يسرّني معرفة كيفية استخدام ميزات منصة الويب الجديدة داخل الشركة، بدءًا من الاستفادة من الوضع الداكن لتسهيل استخدام أنظمة السفن في الليل، ووصولاً إلى Web Bluetooth وWebXR وتطبيقات الويب التقدّمية (PWAs) حتى تتمكّن تطبيقات الويب من التفاعل مع العالم المادي من حولنا في أيّ ظروف. نشكرك يا Internet Explorer على العديد من الأشياء، وأصبح بإمكاننا الآن مواكبة منصة الويب.