Wieso Svelte? Ein Einstieg in das JavaScript-Framework

Seite 3: Bewertung von Svelte

Inhaltsverzeichnis

Svelte ist erstmals im November 2016 erschienen. Die Entwickler haben es 2018 mit Version 2 nochmals stark überarbeitet. Damit ist Svelte eine vergleichsweise neue Technik, was Vorteile und Nachteile bedeuten kann. Auf der einen Seite konnten viele Best Practices sowie Erfahrungen mit anderen Frameworks in die Entwicklung von Svelte einfließen und es scheint fast, als könnte Svelte das Beste vieler Frameworks vereinen. Sveltes <script>-Bereiche mit reaktiven Variablen erinnern an Render-Functions mit Hooks aus der React-Welt; die Komponentenstruktur an Vue und Angular; CSS mit Komponenten-Scope an Vue und Angular; Slots mit DOM-API an Portals aus der React-Welt. Svelte ist zeitgemäß und bietet viele Features, die momentan in der JavaScript-Welt im Trend liegen. Mit der Idee, Svelte-Komponenten in reine JavaScript-Komponenten zu übersetzen, die keine zusätzlichen Module zur Ausführung benötigen, verspricht Svelte zusätzlich, schlanke Ergebnisse mit einer guten Laufzeit zu liefern.

Auf der anderen Seite haben bekannte Frameworks aufgrund der längeren Lebenszeit deutliche Vorteile: Das Ökosystem von Angular, React und Vue ist gefüllt mit frei verfügbaren Librarys, Komponenten und Mobile-Frameworks wie Ionic und React Native. Insgesamt findet man für Svelte im Internet bei Problemen viel weniger Lösungen als mit anderen etablierten Frameworks. Das Svelte-Team hat das erkannt und plant, das Ökosystem rund um Svelte zu fördern und mit eigenen Entwicklungen zu bereichern.

Im Bereich Tooling bietet Svelte keinen Vorteil im Vergleich zu anderen Frameworks, denn mit Svelte müssen Entwickler einen Modul-Packer mit korrekter Installation und Konfiguration verwenden. Ähnlich wie bei anderen Frameworks gibt es vorkonfigurierte Projekt-Templates, die Entwickler beispielsweise aus der REPL herunterladen und verwenden können. Die Konfiguration ist aber komplexer, wenn Anwender von der Standardkonfiguration abweichen wollen. Das NPM-Modul "svelte-preprocess" bietet Hilfe bei vielen weiteren Konfigurationsvarianten wie der Verwendung von CSS-Präprozessoren. Erfahrene JavaScript-Entwickler sind an die Verwendung solcher Tools gewöhnt, für Anfänger können sie eine Hürde darstellen.

Svelte bietet eine zeitgemäße Architektur mit vielen Features und ist damit für Entwickler interessant, die über den Tellerrand der großen Frameworks blicken und andere elegante Varianten ausprobieren wollen. Svelte-Applikationen haben eine vergleichsweise kleine Dateigröße. Deshalb könnte Svelte eine gute Alternative für Entwickler sein, die auf die Verwendung eines Frameworks verzichten (oder Probleme damit haben), um die Dateigröße der Applikation möglichst gering zu halten. Neben Svelte gibt es aber auch andere Frameworks wie Preact, die mit geringer Dateigröße punkten wollen. Der Vorteil ist daher kein Alleinstellungsmerkmal (bei näherem Interesse zu Benchmarks verschiedener Frameworks ist der vergleichende Test von freecodecamps.org empfehlenswert.

Der Einsatz von Svelte kommt aber auch mit einem Preis, weil kein Ökosystem zur Verfügung steht, das mit einem der größeren Frameworks vergleichbar wäre. Es gibt weniger Beispiele, Erklärungen, Tutorials, vorgefertigte Bibliotheken und Tools aller Art. Für Entwickler, die schon ein Framework nutzen und beherrschen, stellt sich die Frage, ob sich der Umstieg auf Svelte lohnt. Neben der Frage nach dem eigenen Geschmack und persönlichen Prioritäten sollte man dabei beachten, dass Svelte zwar eine innovative Alternative zu den großen Frameworks darstellt, aber nicht einfach an ihnen vorbei zieht.

Wenn die Dateigröße der Applikationen bei der Entscheidungsfindung keine wichtige Rolle spielt, bietet Svelte bis jetzt keine eindeutigen Vorteile gegenüber den großen Frameworks, die klar für einen Umstieg sprechen. Darüber hinaus zeigt Svelte, dass der konzeptionelle Ansatz der Verwendung eines Compilers statt eines klassischen Frameworks vielversprechend ist und noch mehr Potenzial haben kann. Es bleibt abzuwarten, ob aus der Compiler-Architektur von Svelte in Zukunft weitere Vorteile gegenüber anderen Frameworks entstehen. Es könnte sein, dass Svelte damit einen innovativen Beitrag zur Zukunft der Frontend-Welt leistet.

David Bardiau
ist Software Engineer und Trainer für JavaScript und CSS. Er engagiert sich als Organisator und Speaker für Meetups und schreibt Artikel rund um die Webentwicklung. (bbo)