پایان اینترنت اکسپلورر

پایان پشتیبانی از Internet Explorer برای مشتریان و توسعه دهندگان Maersk.com چه معنایی دارد.

Steveworkman
steveworkman

من استیو ورکمن هستم و مهندس اصلی Maersk.com هستم. مرسک پیشرو جهانی در تدارکات زنجیره تامین یکپارچه است و به مشتریان کمک می کند تا کالاها را به مدت 118 سال در سراسر جهان جابجا کنند، با رزرو آنلاین برای بیش از بیست سال. در آغاز ماه مه 2022، @Maersk به طور رسمی پشتیبانی از اینترنت اکسپلورر (IE) را در سیستم های مشتری خود متوقف کرد، در حالی که مایکروسافت به طور رسمی پشتیبانی از IE را در ژوئن 2022 پایان داد. این پایان یک دوره مهم وب است. ، و شروع یک جدید.

من در سال 2018 به مرسک پیوستم و اولین پروژه من ساخت یک نوار ناوبری جهانی جدید بود. باید کاملاً قابل آزمایش باشد، به آسانی قابل استقرار و به روز رسانی در سطح جهانی و بدون خرابی باشد، ابتدا موبایل باشد، پاسخگو باشد، از برندهای متعدد پشتیبانی کند، قابل تنظیم باشد، به 11 زبان ترجمه شود... و از IE9 پشتیبانی کند.

در سال 2018، ویندوز 7 و مرورگر پیش‌فرض آن IE9 همچنان بسیار محبوب بودند و ویندوز 10 و IE11 تنها در اوایل سال 2020 به حجم بحرانی رسیدند (بر اساس آمار شمارشگر). با نگاهی به داده‌هایمان، مقدار قابل توجهی از تجارت از سوی مشتریانی که از IE9 یا بدتر از IE11 در حالت سازگاری استفاده می‌کنند، دریافتیم. این ترافیک به طور قابل توجهی به سمت بازارهای نوظهور و در مناطقی که پایگاه مشتریان مرسک به سرعت در حال رشد بود، متمایل شد.

اگر منوی ناوبری کار نمی کند، پیدا کردن دکمه ورود به سیستم سخت است. اگر ورود به سیستم کار نمی کند، آنها نمی توانند کانتینرها را رزرو کنند و ناگهان با مشکل بزرگی مواجه می شوید که ناشی از مرورگرهای قدیمی است.

برای حل این مشکل، ما در مورد مؤلفه ناوبری و همه برنامه‌های وب آینده، یک موضع بهبود تدریجی اتخاذ کردیم. ما آن را "کار" می‌کردیم، اما ممکن است پلی‌فیل‌ها و محدودیت‌های قابل‌توجهی برای انجام این کار وجود داشته باشد - برای مثال، IE از Fetch API پشتیبانی نمی‌کند، اما polyfill‌هایی وجود دارند که به IE10 برمی‌گردند که ما برای آن مرورگرها اضافه می‌کنیم. برای IE9، ما فراخوانی های XMLHttpRequest را در یک فایل جداگانه کدگذاری کردیم تا فقط در مواردی که fetch نمی تواند چند پر شود بارگذاری شود.

زمانی که زمان حذف پشتیبانی از IE9 فرا رسید، زمانی که تنها تعداد انگشت شماری از مشتریان باقی مانده بودند، ما به سادگی توانستیم این کد را از برنامه های خود حذف کنیم، با حداقل تلاش و حداکثر سود برای کاربران خود در مرورگرهای مدرن.

همانطور که تحول دیجیتال مرسک ادامه داشت، بخش‌های زیادی از سایت را در بخش‌های میکرو فرانت‌اند مجهز به VueJS بازسازی کردیم. Vue دارای ویژگی‌های زیادی بود که آن را برای آینده دوست‌داشتنی می‌کرد، با یک پیکربندی از پیش تعیین‌شده عالی برای تکان دادن درختان پیشرفته و بهینه‌سازی بسته‌ها، به حالت مدرن که در آن دو نسخه از برنامه ساخته شده است - نسخه‌ای که از آخرین نحو ماژول ES برای مرورگرهای همیشه سبز استفاده می‌کند. و یکی برای برنامه های قدیمی که ماژول های ES6 را درک نمی کنند. این نسخه قدیمی برای مرورگرهایی مانند اینترنت اکسپلورر ارائه می‌شود و اغلب 100 کیلوبایت در بسته پلی‌فیل زیپ‌شده آن به‌دلیل تعداد ویژگی‌هایی که مرورگر از دست داده است، بزرگ‌تر است.

ما متوجه شدیم که می‌توانیم از بسیاری از تکنیک‌های چیدمان CSS مدرن مانند شبکه CSS استفاده کنیم، زیرا مایکروسافت این مشخصات را در IE10 آغاز کرده است. با کمک پیشوند خودکار و این مقاله ترفندهای CSS که به ما کمک می‌کند در نام‌گذاری قسمت‌های مختلف صفحه واقعاً خوب باشیم، یک سیستم طرح‌بندی سبک وزن، مناسب برای هر پروژه و بسیار انعطاف‌پذیر داشتیم. با این حال، مشکلات سازگاری وجود داشت که رفع آنها زمان زیادی را صرف کرد.

ناگهان به مرحله تجزیه و تحلیل هزینه و فایده بازگشتیم، اما برای هر نسخه ای از اینترنت اکسپلورر این بار، و درست مانند IE9، این یک معامله بین پشتیبانی از همه و هفته ها زمان دردناک توسعه برای هر پروژه است. با اطمینان از اینکه استفاده از یک مرورگر مدرن تجربه بهتری برای مشتریان ما است، کاربران خود را هنگام بازدید از وب سایت از اینترنت اکسپلورر دور کردیم. ما دریافتیم که این برای مشتریان فعالی که عادت به باز کردن اینترنت اکسپلورر برای تعاملات خود با ما داشتند، در مقادیر کم موفقیت آمیز بود. این پیام خوب بود، اما به اندازه کافی برای انجام ریاضیات کافی نبود.

با پایان یافتن بازدیدهای IE، مرسک تصمیم گرفت که از بسیاری از افراد قبل از آنها پیروی کند و به پشتیبانی رسمی از اینترنت اکسپلورر پایان دهد، حتی اگر اعداد همچنان می گویند که ما باید از آن حمایت کنیم. خب چرا حالا؟

یک وب سایت با نوار ناوبری افقی.
صفحه اصلی Maersk با مؤلفه ناوبری جهانی.

به زبان ساده، پلتفرم وب حرکت کرده است، و IE11 نمی تواند کارهایی را که ما برای انجام آن نیاز داریم، انجام دهد، حتی با وجود ارتش کوچکی از polyfills. مولفه ناوبری را در نظر بگیرید - در دنیای پلتفرم وب مدرن، این یک عنصر سفارشی است، با سبک‌های محصورشده خاص خود، که توسط متغیرهای CSS و جستجوهای کانتینر هدایت می‌شود، بنابراین همه چیز را در یک مؤلفه کنترل می‌کند. بدون این قطعات پلت فرم، سبک این اجزا می تواند به طور کامل از برنامه تغییر کند و سبک ها می توانند به اجزای دیگر نشت یا به برنامه برگردند. پلی‌فیل‌هایی وجود دارند که به شما امکان می‌دهند بیشتر ویژگی‌ها را در اینجا شبیه‌سازی کنید، از جمله عناصر سفارشی ، ShadyCSS ، ShadyDOM و عنصر الگو .

در عمل، این پلی‌فیل‌ها برای مؤلفه‌های ایزوله عالی عمل می‌کنند - اما هنگام ترکیب چندین مؤلفه در یک برنامه پیچیده، IE با ده‌ها ثانیه صفحه سفید متوقف می‌شود در حالی که زمان اجرا جاوا اسکریپت سعی می‌کند درخت سبک را برای چهل و دومین بار محاسبه کند. به طور خلاصه، تجربه کاربر برای پشتیبانی از مرورگر به شدت به خطر افتاد.

در گذشته، وقفه‌های کوچکی داشتیم—پلی‌فیلدهایی که ممکن بود نیم ثانیه به رنگ اول اضافه کنند، اما نه بیشتر. این متفاوت بود و این برنامه ها غیرقابل استفاده شدند. Polyfills تنها زمانی می تواند کارهای زیادی انجام دهد که با پیچیدگی پلت فرم وب مدرن به چالش کشیده شود.

و می دانید از زمانی که پشتیبانی IE را حذف کردیم چه اتفاقی افتاده است؟ خیلی خیلی کم هیچ بهمنی از بلیط های پشتیبانی مشتری یا بازخورد منفی وجود نداشته است. مهندسان ما خوشحال‌تر هستند و برنامه‌های ما مسیر ارتقاء به Vue 3 (که از IE11 پشتیبانی نمی‌کند ، زیرا شیء Proxy را نمی‌توان چند پر کرد) و اندازه‌های بسته کوچک‌تر دارند. پشتیبانی کامل از متغیرهای CSS و فونت‌های متغیر امکان قالب‌بندی ساده‌تر را در بین برندها فراهم می‌کند و توانایی استفاده از نشانه‌ها در اجزای فایل تکی Vue نیز پیچیدگی شناختی را کاهش می‌دهد و تجربه توسعه‌دهنده بهتری را ایجاد می‌کند.

از دیدگاه مشتری، استفاده از اینترنت اکسپلورر به آرامی در حال کاهش است. اینترنت اکسپلورر از سایت قطع نشده است، اما با تبدیل شدن پیشرفت تدریجی به تخریب زیبا، ویژگی‌ها و برنامه‌ها از کار خواهند افتاد. مشتریان از پیشرفت‌های فناوری ما سود خواهند برد - به دست آوردن تجربه‌ای منسجم‌تر از سایت، زیرا بهترین شیوه‌ها، قابلیت دسترسی و طراحی در یک سیستم طراحی مبتنی بر Lit در حال تکامل، با قابلیت همکاری کامل با هر چارچوبی که در حال حاضر وجود دارد یا در آینده.

من هیجان زده هستم که ببینم چگونه می توان از ویژگی های پلتفرم وب جدید در شرکت استفاده کرد - از استفاده از حالت تاریک به طوری که استفاده از سیستم های کشتی در شب راحت تر باشد، تا بلوتوث وب ، WebXR و PWA به طوری که برنامه های وب ما بتوانند با هم تعامل داشته باشند. با دنیای فیزیکی اطرافمان در هر شرایطی. با تشکر از شما، اینترنت اکسپلورر، برای بسیاری از چیزها. ما اکنون آزاد هستیم که با پلتفرم وب آشنا شویم.

تصویر قهرمان توسط مت باتسفورد .