12.05.2023 - By Vanessa Otto, Peter Kröner, Hans Christian Reinl, Stefan Baumgartner, Christian »Schepp« Schaefer
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 neben with wohl für alle Ewigkeit auch das Alias assert
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 Werten low, high
und auto 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 ersonnene
navigator.scheduling.isInputPending() und dem noch hinter Flags und in einem
Origin Trial befindlichen scheduler.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!