Interview mit Simon Holthausen, Managing Consultant bei der Accso
Interview mit Simon Holthausen, Managing Consultant bei der Accso
Das JavaScript-Framework Svelte zieht immer mehr das Interesse der Entwickler-Zunft an. Was ist das Besondere an dem Framework? Wir haben mit Simon Holthausen darüber gesprochen, was Svelte von anderen Frameworks wie React, Angular oder Vue unterscheidet und wie sich die Arbeit mit dem SvelteKit in der Praxis gestaltet.
entwickler.de: Svelte entwickelt sich immer mehr zu einem ernstzunehmenden Konkurrenten für die etablierten JavaScript-Frameworks wie beispielsweise Angular, React und Vue. Was grenzt Svelte von anderen Frameworks ab?
Simon Holthausen: Der zentrale Unterschied liegt meiner Meinung nach in der Developer Experience. Es fängt mit der Einsteigerfreundlichkeit an – kein anderes Framework ist so eingängig und schnell erlernbar. Das liegt daran, dass der Code sich wie ganz normales JavaScript/TypeScript+HTML+CSS liest, der API-Overhead ist minimal. Des Weiteren ist Svelte sehr schnell, Performancetuning ist nicht nötig, zudem ist das Kompilat sehr klein. Vieles davon ist nur möglich, weil Svelte ein Compiler ist und dies zu seinem Vorteil nutzt, um Boilerplate zu reduzieren. Zu guter Letzt ragt Svelte durch seine mitgelieferte Animationsbibliothek heraus, die den Anwendungen das gewisse Etwas verleihen kann.
entwickler.de: In aktuellen Umfragen gehört Svelte zu den Frameworks mit der größten Nutzerzufriedenheit. Was sind deiner Meinung nach die Gründe dafür? Simon Holthausen: Zum einen ist das die eben angesprochene Developer Experience. Jeder, der bereits die Untiefen anderer Frameworks kennengelernt hat, empfindet Svelte als erfrischend schlank. Das Einfache ist einfach, das Schwierige dennoch lösbar. Ich komme mit weniger Code – vor allem weniger Boilerplate – ans Ziel, und das erhöht wiederum die Wartbarkeit.
Zum anderen ist Svelte sehr flexibel. Es skaliert sowohl sehr gut nach unten als auch nach oben – nach unten, weil das Kompilat unheimlich klein ist. Es lässt sich hervorragend mit frameworkagnostischen Third-Party-Libraries integrieren, beispielsweise für Charts. Dieser Trumpf macht es bei vielen Nachrichtenmagazinen beliebt, wie etwa der New York Times oder dem Spiegel, die Svelte für ihre interaktiven Grafiken nutzen. Nach oben skaliert es unter anderem dank des SvelteKits, was uns einen Werkzeugbaukasten für das Konstruieren von Anwendungen liefert. Insgesamt würde ich sagen, dass Svelte die Stärken anderer Frameworks konsequent weitergedacht und die Schwächen vermieden hat.
Svelte hat die Stärken anderer Frameworks konsequent weitergedacht und die Schwächen vermieden
entwickler.de: Wie würdest du sagen schlägt sich Svelte im Vergleich zu anderen JavaScript Frameworks? Was macht es besser und was sind deine Kritikpunkte?
Simon Holthausen: Der größte Vorteil ist für mich, dass nicht benötigter Code umgangen wird und ich mich auf das konzentrieren kann, was ich eigentlich erreichen will. Ein Beispiel: Bei React muss ich als Entwickler unheimlich aufpassen, nicht unperformanten Code durch unbeabsichtigtes Neurendern zu produzieren, daher lande ich bei mühsamer Optimierungsarbeit durch useCallback
, useMemo
und dem richtigen Setzen meiner useEffect-Dependencies
. Angular hat ein ähnliches Problem, weil es per Default zu viele Dinge überprüft, und nach Änderung dieser ChangeDetectionStrategy
muss ich diverse Regeln beachten.
In Svelte ergibt sich dieses Problem überhaupt nicht. Durch den Compiler-Ansatz sind viele Performancefallen von Anfang an eliminiert – und es befreit mich gleichzeitig davon, besagten Optimierungscode zu schreiben. Dieses Prinzip begegnet mir noch an vielen anderen Stellen bei Svelte. Einen Kritikpunkt am Framework selbst habe ich nicht, aber die offizielle Dokumentation könnte an einigen Stellen noch mehr in die Tiefe gehen.
entwickler.de: Mit dem SvelteKit soll das Framework alles Notwendige erhalten, um eine komplette Webanwendung zu erstellen. Welche Bestandteile enthält das SvelteKit? Und wie schlägt es sich in der Praxis?
Simon Holthausen: SvelteKits Herzstück ist ein mächtiger, dateibasierter Router, der verschachtelte Layouts, Redirectlogik, einfache Anbindung von Endpunkten und vieles mehr ermöglicht. Der Feedbackzyklus bei der Entwicklung ist unheimlich schnell, Änderungen am Code sind oft in unter einer Sekunde sichtbar. Das SvelteKit ist sehr vielseitig und eignet sich für fast jeden Anwendungsfall. Eine klassische SPA können wir damit genauso entwickeln wie eine komplett vorgerenderte statische Seite – oder irgendwas dazwischen, indem wir SvelteKit so konfigurieren und anpassen, wie wir es brauchen. Das Ergebnis lässt sich auf unterschiedlichen Plattformen deployen - sowohl bei Vercel oder Netlify on Edge, unserem eigenen FileServer, als auch da, wo uns ein Adapter zur Verfügung steht. In der Praxis schlägt es sich bisher hervorragend, was Projekte wie der Covid-Tracker der New York Times und Platz 1 in der Zufriedenheitsumfrage des State of JS 2021 in seiner Kategorie untermauern.
entwickler.de: Wem würdest du die Nutzung von Svelte empfehlen? Für welche Art von Projekten eignet es sich, deiner Meinung nach, besonders gut? Simon Holthausen: Als Teil des Maintainer-Teams bin ich natürlich etwas voreingenommen – jeder sollte es sich zumindest einmal anschauen! Sowohl alte Hasen als auch Einsteiger werden sich dank der Einsteigerfreundlichkeit schnell zurechtfinden und aufgrund der hervorragenden Developer Experience hoffentlich begeistert dabeibleiben. Svelte ist zudem dank SvelteKit für sehr viele Arten von Projekten einsetzbar: von der internen Business-App bis zur Suchmaschinen-optimierten Webseite.
entwickler.de: Vielen Dank für dieses Interview!