Chrome'un Aurora girişimi, web'deki kullanıcı deneyimini iyileştirmek için Chrome ile açık kaynak JavaScript çerçeveleri ve araçları arasındaki bir işbirliğidir. Aurora'yı yeni keşfettiyseniz misyonumuz ve metodolojimiz hakkında daha fazla bilgi edinmek için giriş yazımıza göz atın.
2021'den bu yana yol haritası yayınlamadığımız için neler yaptığımızı ve 2023'te kullanıma sunmayı planladığımız heyecan verici projeleri paylaşmak istiyoruz.
Projeyle ilgili son gelişmeler
Son birkaç yıldır Core Web Vitals'ı optimize etmek için Next.js, Angular ve Nuxt gibi çerçevelerle iş ortaklığı yapıyoruz. Son güncellememizden bu yana öne çıkan bazı noktaları aşağıda bulabilirsiniz.
Resimler
Resimler genellikle performans sorunlarına neden olur. Aşağıda, en iyi uygulamaların hazır olarak kullanılabilmesini sağlamak için çerçeve paydaşlarıyla birlikte uyguladığımız yöntemlerden bazıları verilmiştir. Böylece geliştiriciler, birlikte çalıştığımız çerçeveleri kullanırken varsayılan olarak en iyi şekilde resim yayınlayabilir.
Açısal resim yönergesi
Angular 15'te kullanılabilen ve özel olarak 13.4 ile 14.3'e geri bağlanmış Angular çerçevesi için kararlı bir resim yönergesi yayınladık. Bu yönerge, varsayılan olarak yerel gecikmeli yüklemeyi etkinleştirir, öncelikli resimlere fetchpriority
ipuçları ekler ve duyarlı resimler için uygun srcset
özelliklerini otomatik olarak oluşturur.
Etki: Lighthouse laboratuvar testi, Land's End'in QA ortamında resim yönergesinin kullanılmasından önce ve sonra gerçekleştirildi. Masaüstünde, ortanca Largest Contentful Paint (LCP) değeri 12,0 saniyeden 3,0 saniyeye düştü. Bu, LCP'de% 75 oranında bir iyileşme sağladı.
Direktif hakkında daha fazla bilgiyi Angular resim direktifiyle resimleri optimize etme başlıklı blog yayınımızda bulabilirsiniz.
Yenilenen next/image
Ayrıca, Next.js ekibiyle birlikte çalışarak resim bileşenini, yerel gecikmeli yükleme ve fetchpriority
HTML özelliği gibi yeni tarayıcı özelliklerini kullanacak şekilde güncelledik. Yeni sürüm, Next 13'ten itibaren varsayılan olarak kullanılabilir.
Etki : İş ortağımız Leboncoin, next/image
'in yeni sürümüne geçerek bazı sayfaların LCP'sini% 60'a varan oranda iyileştirebildi.
Web yazı tipleri
Web yazı tipi optimizasyonu, yazı tipi kaynaklarının aktarım boyutunu azaltmaktan daha fazlasını içerdiğinden doğru şekilde yapılması zor olabilir. Web yazı tipleri, sayfanın kümülatif düzen kayması (CLS) metriğine de önemli ölçüde katkıda bulunabilir. Yazı tipi değişimlerinden kaynaklanan düzen kaymalarını en aza indirmek için önemli ölçüde çaba gerekir. Neyse ki bu görevi web geliştiricileri için daha da kolaylaştırmak amacıyla çeşitli çerçevelerle iş ortaklığı yaptık.
Next.js, Nuxt ve Vite'de iyileştirilmiş yazı tipi yedekleri için araçlar
Next 13'te, sayfanın yedek yazı tipinin boyutlarını, yüklendiğinde web yazı tipiyle daha iyi hizalanacak şekilde ayarlayan bir özellik kullanıma sunduk. Bu, yazı tipiyle ilgili CLS'yi azaltır. Metodolojimizi Nuxt ekibiyle paylaştık. Bu metodoloji, her ikisi de aynı temel algoritmayı kullanan nuxtjs/fontaine
modülü ve fontaine
Vite eklentisi için ilham kaynağı oldu.
Etki: İş ortağımız Vox Media, bu özelliği kullanarak The Verge'deki bazı sayfalarda CLS'yi üretim aşamasında 0'a düşürmeyi başardı.
İyileştirilmiş yedek yazı tipleri oluşturma ve yazı tipi yedek çerçeve araçları hakkında daha fazla bilgiyi blog yayınlarımızda bulabilirsiniz.
nuxtjs/google-fonts
modülü
Google Font performansını optimize etmek için bir modül yayınlamak üzere Nuxt ekibiyle iş ortaklığı yaptık. Modül, ek bir sunucu gidiş dönüşünü önlemek için Google yazı tiplerini otomatik olarak indirir ve kendi bünyesinde barındırır. Ayrıca yazı tipi satır içi ekleme seçeneklerini de destekler.
Üçüncü taraf komut dosyaları
Üçüncü taraf JavaScript, performans sorunlarının potansiyel bir kaynağıdır ve bu komut dosyalarının planladığı çalışma, kullanıcı etkileşimlerinin çalışmasını geciktirebileceğinden Interaction to Next Paint (INP) gibi metrikleri etkileyebilir.
Üçüncü taraf komut dosyaları için next/script
bileşeni
Next 12 ve sonraki sürümler için, yükleme sırasında kritik yolun engellenmesini önlemek amacıyla varsayılan olarak komut dosyalarını sulandırma işleminden sonra yükleyen bir komut dosyası bileşeni oluşturduk. Ayrıca, komut dosyalarını ana iş parçacığından tamamen kaldırmak için Partytown'u entegre eden bir web işleyici modu da mevcuttur.
Etki: Lighthouse laboratuvar testlerinde, CareerKarma, çalışan modu etkinken next/script component
kullanarak LCP'de% 24 oranında düşüş elde etti.
Daha fazla bilgi için Next.js'de üçüncü taraf komut dosyası yüklemeyi optimize etme başlıklı blog yayınımızı okuyun.
Çeşitli
Çerçeve geliştiricileriyle olan iş ortaklıklarımız Core Web Vitals'ı iyileştirmekle sınırlı değildir. Ayrıca, yeni özelliklerden daha fazla yararlanmak ve geliştiricilerin en son web platformu özelliklerini kullanmaya başlamasını daha da kolaylaştırmak için çalışıyoruz.
Container sorguları polyfill'i
Kapsayıcı sorguları polyfill'ini daha geniş bir CSS özelliği grubunu desteklemek için güncelledik ve 1.0 sürümüne yönelik çalışmalarımız kapsamında performansını iyileştirdik.
Daha fazla bilgi için Container Query Polyfill'in İçinde başlıklı blog yayınımızı inceleyin.
Aurora için sırada ne var?
2023-2024'te, Core Web Vitals'ı çerçeve geliştiricileri için optimize etmek üzere planladığımız heyecan verici projeler var.
Önümüzdeki yıl aşağıdaki konulara odaklanacağız:
Next.js ve Nuxt için üçüncü taraf sarmalayıcı bileşenleri: Sarmalayıcı bileşenler, popüler üçüncü taraf kitaplıklarının LCP ve INP için en uygun şekilde yüklenmesini kolaylaştırabilir. Üçüncü tarafınızı yüklemek için komut dosyası etiketi yerine DOM'a bir bileşen etiketi bırakın. Çerçeve, en iyi yükleme stratejisini seçer. Daha fazla bilgi için RFC'ye bakın.
Angular SSR ve hidrasyon geliştirici deneyimi: SSR ve hidrasyon projesi üzerinde Angular ekibiyle yakın bir şekilde çalışıyoruz. Odak noktamız, SSR'yi kullanmayla ilgili geliştirici deneyimini iyileştirmek ve daha fazla uygulamanın LCP avantajlarından yararlanmasını sağlamaktı. SSR DOM değiştirme özellikleriyle ilgili resmi bir RFC için takipte kalın.
Angular resim yönü ve
nuxt/image
özellikleri: Angular için otomatik ön bağlantı ipucu oluşturma, temel<img>
öğelerinden geçişe yardımcı olacak taşıma araçları,<picture>
öğesi desteği ve yer tutucular gibi birçok heyecan verici özellik planlıyoruz. Ayrıcanuxt/image
için bir dizi yeni özellik konusunda Nuxt ekibine danışacağız.INP araştırması (çerçeveler arası): Interaction to Next Paint (INP), 2024'te First Input Delay (FID)'in yerini alacağı için çerçevelerde INP'yi iyileştirmeye yönelik desteği artırıyoruz. Bu kapsamda, çerçevelerdeki INP sorunlarının temel nedenlerinin analizi ve mümkün olduğunda çerçeve kullanıcıları için yerleşik çözümler oluşturulması yer alır.
Speedometer 3: 2023'ün modern web çerçevesi ortamını temsil etmek için karşılaştırma aracı Speedometer'ın yeni neslinin uygulanmasına da yardımcı oluyoruz.
En son gelişmeleri kaçırmayın
Aurora ekibinin en son haberlerini, teknik sohbetlerini ve blog yayınlarını takip etmek için açılış sayfamıza yer işareti koyun. Bizi Twitter'da da takip edebilirsiniz:
- Kara Erickson - karaforthewin@
- Houssein Djirdeh - hdjirdeh@
- Katie Hempenius - katiehempenius@
- Alex Castle - atcastle@
- Gerald Monaco - devknoll@
- Janicklas Ralph James - janicklas@
- Thorsten Kober - tckober@