async
veawait
, ana iş parçacığını engellemeden, eşzamanlıymış gibi söze dayalı kod yazmanıza olanak tanır.- İşaretçi etkinlikleri, tüm giriş etkinliklerini yönetmek için birleşik bir yol sağlar.
- Ana ekrana eklenen sitelere otomatik olarak kalıcı depolama alanı izni verilir.
Ve çok daha fazlası.
Ben Pete LePage. Chrome 55'teki geliştiricilere yönelik yenilikleri burada bulabilirsiniz!
İşaretçi Etkinlikleri
Web'deki nesneleri göstermek eskiden basitti. Fareniz vardı, hareket ettirdiniz, bazen düğmelere bastınız. İşte bu kadar. Ama bu burada pek iyi çalışmıyor.
Dokunma etkinlikleri iyidir, ancak dokunma ve fare özelliklerini desteklemek için iki etkinlik modelini desteklemeniz gerekiyordu:
elem.addEventListener('mousemove', mouseMoveEvent);
elem.addEventListener('touchmove', touchMoveEvent);
Chrome artık PointerEvents öğelerini göndererek birleştirilmiş giriş işlemeyi etkinleştirir:
elem.addEventListener('pointermove', pointerMoveEvent);
İşaretçi etkinlikleri, tarayıcının işaretçi giriş modelini birleştirerek dokunma, kalem ve fareleri tek bir etkinlik grubunda bir araya getirir. Bunlar IE11, Edge, Chrome, Opera'da desteklenir ve Firefox'ta kısmen desteklenmektedir.
Daha ayrıntılı bilgi için Pointing the Way Forward (İleriye Yönelik Yol Gösterme) adlı kursa göz atın.
async
ve await
Eşzamansız JavaScript'le ilgili nedenler belirlemek zor olabilir. Bu işlevi tüm "güzel" geri çağırmalarıyla birlikte alın:
function logFetch(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.error('xhr failed', xhr.statusText);
}
}
};
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.open('GET', url);
xhr.send();
}
promises
ile yeniden yazmak, iç içe yerleştirme sorununun önlenmesine yardımcı olur:
function logFetch(url) {
return fetch(url)
.then(response => response.text())
.then(text => {
console.log(text);
}).catch(err => {
console.error('fetch failed', err);
});
}
Ancak uzun eşzamansız bağımlılıklar zincirleri olduğunda, Promise tabanlı kodların okunması yine de zor olabilir.
Chrome artık async
ve await
JavaScript anahtar kelimelerini destekleyerek eşzamanlı kod kadar yapılandırılmış ve okunabilen Promise tabanlı JavaScript yazmanıza olanak tanıyor.
Bunun yerine, eşzamansız fonksiyonumuz aşağıdaki şekilde basitleştirilebilir:
async function logFetch(url) {
try {
const response = await fetch(url);
console.log(await response.text());
}
catch (err) {
console.log('fetch failed', err);
}
}
Jake'in mükemmel bir yayını var: Async Functions - vadedilenleri dostu ve tüm ayrıntılarıyla.
Kalıcı Depolama Alanı
Kalıcı depolama alanı kaynak denemesi artık sona erdi. Artık web depolama alanını kalıcı olarak işaretleyerek Chrome'un sitenizin depolama alanını otomatik olarak temizlemesini önleyebilirsiniz.
if (navigator.storage && navigator.storage.persist) {
navigator.storage.persist().then(granted => {
if (granted)
alert("Storage will not be cleared except by explicit user action");
else
alert("Storage may be cleared by the UA under storage pressure.");
});
}
Ayrıca, etkileşimi yüksek olan, ana ekrana eklenmiş veya push bildirimlerini etkinleştirmiş sitelere otomatik olarak kalıcı izin izni verilir.
Tüm ayrıntıları ve siteniz için nasıl kalıcı depolama alanı isteyebileceğinizi öğrenmek üzere Chris Wilson'ın Kalıcı Depolama Alanı yayınına göz atın.
CSS Otomatik Kısa Çizgi
Chrome'un en sık talep edilen düzen özelliklerinden biri olan CSS otomatik tireleme, artık Android ve Mac'te desteklenmektedir.
Web Share API
Son olarak, kaynak denemesi olarak kullanılabilen yeni Web Share API ile yerel paylaşım özelliklerini çağırmak artık daha kolay. Paul (Bay Web Intents) Kinlan, Navigator Share yayınında tüm ayrıntılara yer vermiştir.
Kapanma
Bunlar, geliştiricilere yönelik Chrome 55'te yapılan değişikliklerden yalnızca birkaçıdır.
Chrome ile ilgili güncel bilgileri almak ve yenilikler hakkında bilgi edinmek istiyorsanız abone olmayı unutmayın. Ayrıca Chrome ekibinin üzerinde çalıştığı müthiş şeylerden bazılarıyla ilgili daha ayrıntılı bilgi edinmek için Chrome Geliştirici Zirvesi'ndeki videolara göz atmayı da unutmayın.
Ben Pete LePage. Chrome 56 yayınlanır yayınlanmaz size Chrome'daki yenilikleri anlatmak için burada olacağım!