Revision 596: Neues in Safari, Teil 1 von 2
Diverse Release-Ankündigungen des Apple-Teams stellten für Peter und Schepp den Anlass, zu schauen, was sich bei Team WebKit so tut. Und das ist eine ganze Menge! Deshalb haben wir es auch nicht in eine Revision quetschen können, sondern sie benötigten derer zwei. Wir stützen uns dabei auf die Release-Notes von Safari 17 und 17.2 Beta sowie den Safari Technology Previews 178, 180 und 181.
Schaunotizen
- [00:01:40] Import Attributes
- Auch Safari unterstützt nun Import Attributes, mit Hilfe derer sich etwa JSON oder CSS nativ in JavaScript importieren lässt. Wir sprechen über das dazu genutzte Keyword
with
, das innerhalb von ES Modules eine Umwidmung erfahren hat. Chrome muss nebenwith
wohl für alle Ewigkeit auch das Aliasassert
unterstützen, weil man etwas voreilig mit dem Zurverfügungstellen des Features war. Aus Gründen kommen wir auf das Hochstift Osnabrück – fragt nicht. - [00:17:26] Priority Hints
- Safari unterstützt nun das
fetchpriority
-Attribut, das mit den Wertenlow
,high
undauto
befüttert werden kann. Und das bedeutet, auch in Safari kann man sich mit falsch gewichteten Priority Hints in den Zeh schießen! - [00:23:41]
window.requestIdleCallback()
- Halleluja, ganze acht Jahre nach dem ersten Auftauchen dieser API in Chrome können wir
window.requestIdleCallback()
endlich auch in Safari nutzen! Wir reden darüber, wie sich damit und mit weiteren APIs wie das von Facebook ersonnenenavigator.scheduling.isInputPending()
und dem noch hinter Flags und in einem Origin Trial befindlichenscheduler.yield()
der Main-Thread vor Überlastung schützen lässt. Auch kommen wir auf den Compute Pressure Observer, mit dem sich CPU-Auslastung zukünftig messen lässt. - [00:38:19] Preload Hints für responsive Bilder und ES Modules
- Safari unterstützt zukünftig das Preloaden von responsiven Bildern mit der für diesen Zweck ausgeweiteten Syntax. Das hilft, den LCP-Wert der Core Web Vitals zu senken. Auch wird das Preloaden von ES Modules unterstützt. Hier dreht sich Schepps und Peters Diskussion um die Frage, weshalb man das ES-Modules-Preloaden nicht in das normale Preload integrieren konnte und ein extra Wert namens
modulepreload
ersinnen musste. Der Grund liegt an den sogenannten „Reauest Destinations“. - [00:49:16] HTTP Early Hints
- HTTP Early Hints sind ein Mittel für Server, die beim Bauen des HTML ausgebremst werden, zumindest Preload- und Preconnect-Hints vor der eigentlich Antwort vorab an den Client zur Verarbeitung zu senden. So wird die Wartezeit besser genutzt! Übrigens, bei Preconnect Hints ist es essentiell, nicht nur den Host, sondern auch das Verbindungsprotokoll anzugeben (meist
https://
). Sonst klappt der Preconnect nicht!
Anmeldung zur Revision 600 im Online Format
- Hier geht’s zur Anmeldung auf MeetUp
- Feiert am 07.01. von 15 bis 18 Uhr mit uns die 600. Podcast-Episode bei einem einzigartigen Online-Event! Wir veranstalten eine Fishbowl-Diskussion, bei der einige Teilnehmer im ‘inneren Kreis’ diskutieren, während andere im ‘äußeren Kreis’ zuhören und dann einsteigen können. Es ist eine interaktive und dynamische Form des Austauschs, perfekt, um tief in das Thema Webentwicklung einzutauchen. Wir freuen uns auf euch!