Internet Explorer'ın sonu

Internet Explorer desteğinin sona ermesi, Maersk.com'daki müşteriler ve geliştiriciler için ne anlama geliyor?

steveworkman
steveworkman

Ben Steve Workman. Maersk.com'un Baş Mühendisiyim. Entegre tedarik zinciri lojistiği konusunda dünya lideri olan Maersk, yirmi yılı aşkın süredir online rezervasyon yaparak müşterilerin 118 yıl boyunca mal taşımasına yardımcı oluyor. Mayıs 2022'nin başında @Maersk, Microsoft'un Haziran 2022'de IE desteğini resmi olarak sona erdirmesinin ardından, müşteriye yönelik sistemlerinde Internet Explorer (IE) desteğini resmi olarak durdurdu. Bu, web'de önemli bir çağın sonu ve yeni bir çağın başlangıcı.

Maersk'a 2018'de katıldım ve ilk projem yeni bir genel gezinme çubuğu oluşturmaktı. Tamamen test edilebilir olması, tüm dünyada dağıtım ve güncellenmesi kolay olmalı, tüm dünyaya kapalı kalması, mobil öncelikli, duyarlı olmalı, birden fazla markayı desteklemesi, yapılandırılabilir olması, 11 dilde yerelleştirilmesi ve IE9'u desteklemesi gerekiyordu.

2018'de, Windows 7 ve varsayılan tarayıcısı IE9 hâlâ çok popülerdi. Windows 10 ve IE11 2020'nin başlarında yalnızca kritik bir kitleye ulaştı (istatistik sayacına göre). Verilerimize baktığımızda, önemli miktarda ticaretin, uyumluluk modunda IE9 veya daha kötüsü IE11 kullanan müşterilerden geldiğini tespit ettik. Bu trafik, gelişmekte olan pazarlara ve Maersk'ın müşteri tabanının hızla büyüdüğü bölgelerde önemli ölçüde yoğunlaşmıştı.

Gezinme menüsü çalışmıyorsa giriş düğmesini bulmak zordur. Giriş yapılamazsa kapsayıcıları rezerve edemezler ve aniden, eski tarayıcıların neden olduğu büyük bir sorun yaşarsınız.

Bu sorunu çözmek için gezinme bileşeninde ve ileride kullanıma sunulacak tüm web uygulamalarında progresif bir geliştirme duruşunda bulunduk. Özelliğin "işe yaramasını " sağlayabiliriz ancak önemli çoklu dolgular ve kısıtlamalar olabilir. Örneğin, IE Fetch API'sini desteklemez ancak IE10'a geri dönen ve bu tarayıcılar için eklediğimiz çoklu dolgular da mevcuttur. IE9 için, XMLHttpRequest çağrılarını yalnızca fetch çoklu doldurulamadığı durumlarda yüklenmek üzere ayrı bir dosyada kodladık.

IE9 desteğini bırakmamız gerektiğinde, yalnızca birkaç müşteri kaldığında, modern tarayıcılar kullanan kullanıcılarımıza minimum çaba ve maksimum fayda ile bu kodu uygulamalarımızdan kaldırmayı başardık.

Maersk'ın dijital dönüşümü devam ederken, sitenin birçok bölümünü VueJS destekli mikro ön uçlarda yeniden oluşturduk. Vue, ileri düzey ağaç sallama ve paket optimizasyonuna yönelik mükemmel hazır ayar yapılandırmasıyla, biri kalıcı tarayıcılar için en son ES Modülü söz dizimini kullanan, biri de ES6 modüllerini anlamayan eski uygulamalar için olmak üzere uygulamanın iki sürümünün oluşturulduğu modern bir moda kadar onu gelecek dostu hale getiren birçok özelliğe sahipti. Bu eski sürüm, IE gibi tarayıcılara sunulur ve genellikle tarayıcının eksik olduğu özellik miktarına bakarak gzip biçiminde sıkıştırılmış çoklu doldurma paketinde 100 KB daha büyüktür.

Microsoft'un bu özellikleri IE10'da kullanmaya başlaması sayesinde CSS ızgarası gibi modern CSS düzen tekniklerinin çoğunu da kullanabileceğimizi gördük. Bir sayfanın farklı alanlarını adlandırma konusunda gerçekten ustalaşmamıza yardımcı olan autoprefixer ve bu CSS Püf Noktaları makalesinin yardımıyla, hafif, her proje için uygun ve son derece esnek bir düzen sistemimize sahip olduk. Tüm bunlara rağmen, düzeltilmesi çok fazla zaman alan uyumluluk sorunları vardı.

Birdenbire fayda maliyet analizi aşamasına geri döndük, ancak bu kez IE'nin herhangi bir sürümünde olduğu gibi, herkesi desteklemek ve her bir proje için haftalarca süren zahmetli bir geliştirme süresinden bahsediyoruz. Modern bir tarayıcı kullanmanın müşterilerimiz için daha iyi bir deneyim olduğundan emin olarak, web sitesini ziyaret eden kullanıcılarımızı Internet Explorer'dan uzaklaştırdık. Bu yöntemin, bizimle olan etkileşimleri için IE'yi açma alışkanlığı edinmiş aktif müşteriler açısından küçük miktarlarda başarılı olduğunu gördük. Bu mesaj iyiydi, ama matematiğin işe yaramasını sağlamaya yetmedi.

IE'den gelen ziyaretler giderek azaldıkça Maersk, onlardan önce diğer pek çok kişinin liderliğini takip etmeye ve IE için resmi desteği sonlandırmaya karar verdi. Ancak yine de rakamlar onu desteklememiz gerektiğini söylüyor. Peki, neden şimdi?

Yatay gezinme çubuğu olan bir web sitesi.
Maersk'ın genel gezinme bileşeni içeren ana sayfası.

Kısacası, web platformu ilerlemeye devam etti ve IE11, küçük bir çoklu dolgu ordusuyla bile yapmamız gereken şeyleri yapamıyor. Gezinme bileşenini ele alalım. Modern web platformu dünyasında bu, CSS değişkenleri ve kapsayıcı sorguları tarafından yönlendirilen, kendi kapsüllenmiş stillerine sahip özel bir öğedir. Böylece, her şeyi tek bir bileşende kontrol eder. Platformun bu parçaları olmadan, bu bileşenlerin stili uygulamadan tamamen değiştirilebilir ve stiller diğer bileşenlere veya uygulamaya geri sızabilir. Özel öğeler, ShadyCSS, ShadyDOM ve template öğesi de dahil olmak üzere, buradaki özelliklerin çoğunun emülasyonunu yapmanızı sağlayan çoklu dolgular vardır.

Pratikte, bu çoklu dolgular izole bileşenlerde mükemmel sonuç verir. Ancak karmaşık bir uygulamada birden çok bileşeni birleştirirken IE onlarca saniyelik beyaz ekranla durur ve JavaScript çalışma zamanı, stil ağacını kırk saniyelik süreyle hesaplamaya çalışır. Kısacası, tarayıcıyı desteklemek için kullanıcı deneyimi ciddi şekilde ihlal edildi.

Geçmişte küçük kesintiler yaşanıyordu. Çoklu dolgular ilk boyamaya yarım saniye ekleyebiliyordu ancak bu sayı çok fazla değildi. Bu farklı olduğundan bu uygulamalar kullanılamaz hale geldi. Çoklu dolgular ancak modern web platformunun karmaşıklığıyla başa çıktığında bunu başarabilir.

IE desteğini bıraktıktan bu yana neler olduğunu biliyor musunuz? Çok ama çok az. Çok sayıda müşteri destek kaydı veya olumsuz geri bildirim almadık. Mühendislerimiz daha mutlu ve uygulamalarımızın yükseltme yolu Vue 3'e (Proxy nesnesi çoklu doldurulamadığı için IE11'i desteklemez) ve daha küçük paket boyutlarına sahip. CSS değişkenleri ve değişken yazı tipleri için tam destek, markalar arasında tema kullanımını basitleştirir. Jetonların Vue'nun tek dosya bileşenleri içinde kullanılabilmesi de bilişsel karmaşıklığı azaltarak geliştirici deneyimini iyileştirir.

Müşteriler açısından bakıldığında IE kullanımı yavaş yavaş azalmaya devam etmektedir. IE siteden kapatılmadı, ancak progresif geliştirmeler kontrollü bir düşüşe dönüştüğünden, özellikler ve uygulamalar çalışmayı durduracaktır. En iyi uygulamalar, erişilebilirlik ve tasarım, şimdiki veya gelecekteki tüm çerçevelerle tam olarak birlikte çalışabilen, gelişen Lit tabanlı bir tasarım sistemine entegre edildiği için müşterilerimiz de teknolojimizdeki gelişmelerden daha tutarlı bir deneyim elde edecek.

Şirket içinde yeni web platformu özelliklerinin nasıl kullanılabileceğini görmek beni heyecanlandırıyor: Gemi sistemlerinin geceleri daha kolay kullanılmasını sağlamak için koyu moddan yararlanmak, web uygulamalarımızın çevremizdeki fiziksel dünyayla her koşulda etkileşimde bulunabilmesi için Web Bluetooth, WebXR ve PWA'lar gibi. Birçok şey için teşekkür ederiz Internet Explorer. Artık web platformunu rahatça takip edebiliriz.

Matt Botsford'un lokomotif resmi.