Chrome 77 kullanıma sunuluyor!
- Largest Contentful Paint ile sitenizin performansını izlemenin daha iyi bir yolu vardır.
- Formlar'a bazı yeni özellikler eklendi.
- Yerel geç yükleme kullanıma sunuldu.
- Chrome DevSummit 2019, 11-12 Kasım 2019 tarihlerinde gerçekleştirilecek.
- Ve daha pek çok şey.
Adım Pete LePage. Chrome 77'de geliştiriciler için neler yeni olduğuna göz atalım.
Largest Contentful Paint
Sitenizin gerçek dünya performansını anlamak ve ölçmek zor olabilir.
load
veya DOMContentLoaded
gibi metrikler, kullanıcının ekranda ne gördüğünü size söylemez. İlk Boyama ve İlk Zengin İçerikli Boyama, yalnızca deneyimin başlangıcını yakalar. İlk Anlamlı Boyama daha iyidir ancak karmaşıktır ve bazen yanlıştır.
Chrome 77'den itibaren kullanıma sunulan Largest Contentful Paint API, görüntü alanında görünen en büyük içerik öğesinin oluşturulma süresini raporlar ve sayfanın ana içeriğinin ne zaman yüklendiğini ölçmeyi mümkün kılar.
Largest Contentful Paint'i ölçmek için bir Performans Gözlemcisi kullanmanız ve largest-contentful-paint
etkinliklerini aramanız gerekir.
let lcp;
const po = new PerformanceObserver((eList) => {
const e = eList.getEntries();
const last = e[e.length - 1];
lcp = last.renderTime || last.loadTime;
});
const poOpts = {
type: 'largest-contentful-paint',
buffered: true
}
po.observe(poOpts);
Sayfalar genellikle aşamalı olarak yüklendiğinde sayfadaki en büyük öğenin değişmesi olasıdır. Bu nedenle, yalnızca son largest-contentful-paint
etkinliğini analiz hizmetinize bildirmeniz gerekir.
addEventListener('visibilitychange', function fn() {
const visState = document.visibilityState;
if (lcp && visState === 'hidden') {
sendToAnalytics({'lcp': lcp});
removeEventListener('visibilitychange', fn, true);
}
}, true);
Polat'ın web.dev adresinde Largest Contentful Paint ile ilgili harika bir yayını var.
Yeni form özellikleri
Birçok geliştirici, mevcut öğelerin görünümünü ve tarzını özelleştirmek veya tarayıcıda yerleşik olmayan yeni kontroller oluşturmak için özel form kontrolleri oluşturur. Genellikle bu, JavaScript ve gizli <input>
öğelerinin kullanılmasını içerir, ancak mükemmel bir çözüm değildir.
Chrome 77'de eklenen iki yeni web özelliği, özel form denetimleri oluşturmayı ve mevcut sınırlamaların çoğunu kaldırmayı kolaylaştırır.
formdata
etkinliği
formdata
etkinliği, herhangi bir JavaScript kodunun form gönderme işlemine katılmasına olanak tanıyan düşük düzey bir API'dir. Bunu kullanmak için, etkileşimde bulunmak istediğiniz forma
bir formdata
etkinlik işleyici ekleyin.
const form = document.querySelector('form');
form.addEventListener('formdata', ({formData}) => {
formData.append('my-input', myInputValue);
});
Kullanıcı gönder düğmesini tıkladığında form, gönderilen tüm verileri içeren bir FormData
nesnesi içeren formdata
etkinliğini tetikler.
Ardından, formdata
etkinlik işleyicinizde, formdata
öğesini gönderilmeden önce güncelleyebilir veya değiştirebilirsiniz.
Formla ilişkilendirilmiş özel öğeler
Formla ilişkilendirilmiş özel öğeler, özel öğeler ile yerel kontroller arasındaki boşluğu doldurmaya yardımcı olur. Statik bir formAssociated
özelliği eklemek, tarayıcıya özel öğeyi diğer tüm form öğeleri gibi ele almasını söyler. Yerleşik denetimlerle tutarlılık sağlamak için giriş öğelerinde bulunan name
, value
ve validity
gibi ortak özellikleri de eklemeniz gerekir.
class MyCounter extends HTMLElement {
static formAssociated = true;
constructor() {
super();
this._internals = this.attachInternals();
this._value = 0;
}
...
}
Tüm ayrıntılar için web.dev'deki Daha güçlü form kontrolleri başlıklı makaleye göz atın.
Yerel geç yükleme
Son videomda yerel geç yüklemeyi nasıl kaçırdığımdan emin değilim! Oldukça etkileyici olduğu için şimdi ekledim. Yavaş yükleme, ekran dışındaki <img>
'ler veya <iframe>
'ler gibi kritik olmayan kaynakların yüklenmesini, ihtiyaç duyulana kadar ertelemenize olanak tanıyan bir tekniktir. Bu sayede sayfanızın performansı artar.
Chrome 76'dan itibaren, özel yavaş yükleme kodu yazmanıza veya ayrı bir JavaScript kitaplığı kullanmanıza gerek kalmadan tarayıcı yavaş yüklemeyi sizin için yönetir.
Tarayıcıya bir resim veya iframe'ın yavaş yüklenmesini istediğinizi belirtmek için loading="lazy"
özelliğini kullanın. "Sayfanın üst kısmında" olan resimler ve iFrame'ler normal şekilde yüklenir. Aşağıdakiler ise yalnızca kullanıcı ekranı kaydırarak bu öğelere yaklaştığında getirilir.
<img src="image.jpg" loading="lazy" width="400" height="250" alt="...">
Ayrıntılar için web.dev sitesindeki Web için tarayıcı düzeyinde geç yükleme sayfasına göz atın.
Chrome Geliştirici Zirvesi 2019
Chrome Dev Summit 11-12 Kasım'da gerçekleşecek.
Web platformu için kullanıma sunulacak en son araçlar ve güncellemeler hakkında bilgi edinmek ve doğrudan Chrome mühendislik ekibinden bilgi almak için harika bir fırsattır.
Etkinlik, YouTube kanalımızda canlı olarak yayınlanacak. Dilerseniz Chrome Dev Summit 2019 web sitesinden davetiye isteğinde bulunarak etkinliğe bizzat katılabilirsiniz.
Diğer özellikler
Bunlar, Chrome 77'deki geliştiricilere yönelik değişikliklerden yalnızca birkaçıdır. Elbette daha birçok değişiklik vardır.
Kaynak deneme sürümü olarak sunulan Contact Picker API, kullanıcıların kişi listelerinden bir veya daha fazla giriş seçmesine ve seçilen kişilerin sınırlı bilgilerini bir web sitesiyle paylaşmasına olanak tanıyan yeni bir isteğe bağlı seçicidir.
Ayrıca intl.NumberFormat
API'de yeni ölçü birimleri de var.
Daha fazla bilgi
Bu, önemli noktalardan yalnızca bazılarını kapsar. Chrome 77'deki diğer değişiklikler için aşağıdaki bağlantılara göz atın.
- Chrome DevTools'ta (77) yenilikler
- Chrome 77'de desteği sonlandırılan ve kaldırılan özellikler
- Chrome 77 için ChromeStatus.com güncellemeleri
- Chrome 77'deki JavaScript'de yenilikler
- Chromium kaynak deposu değişiklik listesi
Abone ol
Videolarımızdan haberdar olmak için Chrome Developers YouTube kanalımıza abone olun. Yeni bir video yayınladığımızda e-posta bildirimi alırsınız.
Adım Pete LePage. Chrome 78 yayınlanır yayınlanmaz Chrome'daki yenilikleri size bildirmek için burada olacağım.