JavaScript-Framework: Svelte 4 legt den Grundstein für die nächste Generation
Die erste Hauptversion seit vier Jahren bringt vor allem kleinere Änderungen, bereitet das Framework jedoch auf die Rundumerneuerung in Svelte 5 vor.
Das Svelte-Team hat Version 4.0 des quelloffenen Frontend-Frameworks vorgelegt. Die neue Major-Version soll unter anderem eine höhere Performance und eine verbesserte Developer Experience bieten. Als Breaking Changes hebt Svelte 4 die Anforderungen an Mindestversionen an und setzt nun beispielsweise Node.js 16, webpack 5, TypeScript 5 und vite-plugin-svelte 2.4.1 voraus. Vor allem liegt der Fokus jedoch darauf, den Grundstein für Svelte 5 zu legen, in dem Laufzeit und Compiler neu geschrieben sein werden und welches das Entwicklungsteam als "die nächste Generation von Svelte" bezeichnet.
Svelte verfolgt den Ansatz, Webanwendungen deklarativ aus Komponenten zu erstellen, die Markup, Styles und Verhalten kombinieren. Diese Komponenten kompiliert Svelte in kleinere JavaScript-Module, um den für gewöhnlich mit UI-Frameworks verbundenen Overhead zu verhindern. In der aktuellen Entwicklerbefragung von Stack Overflow belegt Svelte hinter Phoenix den zweiten Platz als das am meisten bewunderte Webframework.
Neuerungen für Performance und Developer Experience
Als eines der Performance-Updates soll Svelte 4 kürzeren und schnelleren Hydration-Code bewirken. Wer das Meta-Framework SvelteKit verwendet, kann den verkleinerten Output im Ordner .svelte-kit/output/client/_app/immutable/nodes begutachten. Daneben verringert die neue Version die Svelte-Package-Größe um rund 75 Prozent, die nun 2,8 MB statt 10,6 MB beträgt. Auch hat das Svelte-Team die Anzahl der Dependencies von 61 auf 16 verringert, was nicht nur schnellere Downloadzeiten, sondern auch eine erhöhte Sicherheit in Bezug auf Supply-Chain-Attacken bedeutet.
Die Developer Experience soll nun intuitiver und konsistenter sein. So hat das Entwicklungsteam beispielsweise |local
zum Standard für Transitionen erhoben, um zu verhindern, dass Animationen Seitentransitionen blockieren. Bei der Verwendung von Web Components soll die überarbeitete Weise, wie benutzerdefinierte Elemente geschrieben werden, viele Bugs und Inkonsistenzen ausgemerzt haben und der Umgang mit dem IDE-Authoring soll nun übersichtlicher und zuverlässiger vonstattengehen.
Aktualisierte Website und Dokumentation
Zudem hat das Svelte-Team die offizielle Website aktualisiert. Sie ist nun in verschiedene Seiten aufgeteilt und bietet eine mobile Navigation, aktualisierte TypeScript-Dokumentationsseiten sowie einen Dark Mode. Die SvelteKit-Website wird ebenfalls entsprechend aktualisiert. Links zu Tutorials verweisen nun zudem auf die neue Seite learn.svelte.dev. Entwicklerinnen und Entwickler, die Safari 16.3 oder früher verwenden, können weiterhin auf die älteren Tutorials zugreifen.
Vorbereitung auf Svelte 5
Im Gegenzug zu Svelte 4 soll Svelte 5 ein Release mit grundlegenden Neuerungen darstellen – mit neu geschriebenem Compiler sowie neu geschriebener Laufzeit. Svelte 4 ist als Vorbereitung auf dieses Release zu sehen, indem es laut dem Svelte-Team modernes Tooling annimmt und den Support für Legacy-Versionen beispielsweise älterer Bundler entfernt. Das soll etwa das Vergleichen der Codebasen von Svelte 4 und 5 vereinfachen.
Zu den konkreten für Svelte 5 geplanten Features hält sich das Entwicklungsteam noch bedeckt und lässt lediglich verlautbaren, dass es sich um "wesentliche neue Features und Performanceverbesserungen" handeln soll.
Weitere Informationen zum neuen Release lassen sich dem Svelte-Blog sowie den Release Notes auf GitHub entnehmen. Ein Migrationsguide bietet Hinweise zum Umstieg.
(mai)