Interview
26.05.2022, 00:00 Uhr
"Svelte ist derzeit die produktivste Plattform für Webanwendungen."
Mister C# und Developer-Week-Sprecher Oliver Sturm hat die Webentwicklung mit Svelte entdeckt. C# liebt er zwar immer noch, aber auch JavaScript kann er inzwischen einiges abgewinnen. dotnetpro sprach mit ihm, warum seine Wahl ausgerechnet auf Svelte fiel.
(Quelle: Oliver Sturm)
Früher galtst du als der deutsche Mister C#. Jetzt trittst du plötzlich mit Svelte in Erscheinung. Veränderst du dich hin zur Webentwicklung?
Oliver Sturm: C# ist fuer mich noch immer ein Thema, wie auch Programmiersprachen allgemein - heute nachmittag werde ich einen Vortrag zum Thema "Advanced Pattern Matching in C#" halten. Allerdings interessiert mich das Web als Plattform, sowie die Webtechnologie als allgegenwärtige und beinahe allmächtige Umgebung schon seit vielen Jahren. Und mit JavaScript habe ich mich angefreundet. Früher war es für mich React, aber heute ist Svelte das Framework meiner Wahl - meiner Ansicht nach derzeit die produktivste Plattform für Webanwendungen!
Den Namen Svelte hat man vielleicht schon mal gehört. Aber was genau ist das?
Oliver Sturm: Svelte ist ein englisches Wort, das schlank bedeutet. Dieser Name ist Programm: Svelte ist ein Komponentenframework, das durch die Verwendung eines Compilers extrem kleine und schnelle Apps bauen kann. Allerdings steht bei Svelte auch besonders die Produktivität im Vordergrund. Ich kann als Entwickler mit kompaktem Code sehr viel erreichen, die Performance ist top, da fällt die Wahl nicht schwer.
Nun verlagert Svelte einen Teil der Aufgaben auf den Server. Ist das nicht ein zurück in die Vergangenheit, siehe PHP oder Active Server Pages?
Oliver Sturm: Mit dieser Frage beziehst du dich vermutlich auf Svelte Kit - ein etwas größeres Framework als Svelte allein, das einige architekturelle Elemente zum reinen Komponentenmodell hinzufügt, die in echten Anwendungen wichtig sind. Dazu zählen etwa Routing und Unterstützung für Server Side Rendering (SSR), aber auch die Implementation von Datendiensten, die später, je nach Deploymentmodell, auf einem Backend-Server laufen. PHP und ASP rendern dynamisch Seiten auf dem Server, das tun Svelte und Svelte Kit nicht. Der Ansatz von Svelte Kit ist eher mit Next.js für React oder NuxtJS für Vue vergleichbar.
Dein Arbeitgeber DevExpress bietet Komponentensammlungen an. Auch für Svelte?
Oliver Sturm: DevExtreme ist die Komponentenbibliothek, die bei DevExpress alle JavaScript-Umgebungen abdeckt. Diese Komponenten sind so offen, dass man sie sowohl mit jQuery (oder gar ohne jQuery!) als auch mit komplexeren Frameworks einsetzen kann. Erfahrungsgemäß werden im Laufe der Zeit, wenn die Popularität eines Frameworks wächst, bestimmte Adapter hinzugefügt, um Einsatzfälle zu vereinfachen, die sich im Laufe der Zeit als besonders wichtig, unangemessen kompliziert oder einfach besonders populär herausstellen. Fuer Svelte gibt es derzeit noch keine "besondere" Anbindung, aber das Team testet mit Svelte und ich habe selbst schon vor über einem Jahr erfolgreich mit Svelte und DevExtreme gearbeitet.
Eine deiner Sessions auf der Developer Week beschäftigt sich mit dem Komponentenbau unter Svelte. Wie schätzt du die Komponentenorientierung im Vergleich zu React oder Angular ein?
Oliver Sturm: Svelte ist direkt vergleichbar mit React, da es in erster Linie auf der Komponentenebene arbeitet. Angular geht einen anderen Weg, eher "von oben herab" als "von unten herauf". Im Vergleich mit React hat Svelte in erster Linie Vorteile, da es reaktiv arbeitet - das mag angesichts des Namens von React seltsam klingen, aber echte Reaktivität ist etwas ganz anderes als die Mechanismen in React, und Svelte ist in diesem Bereich sehr stark. Die Svelte-Lösungen zu State Management profitieren besonders von den reaktiven Standardfeatures, und so liefert Svelte in kürzester Zeit flexible Komponenten, die performant und skalierbar sind und dem Entwickler aufgrund ihres kompakten Codes die Pflege einfach machen.
Oliver Sturm ist Training Director bei DevExpress. In nahezu 30 Jahren hat er eine immense Erfahrung als Softwareentwickler, -architekt, Consultant, Trainer, Sprecher und Autor gesammelt.
Developer Week ist die große Entwicklerkonferenz in Nürnberg. Fünf Tage lang können sich Softwareentwickler zu Themen wie Architektur, .NET, Web, Datenbanken oder Softskills fortbilden. 150 Sprecher, 30 Themenstränge, DevSessions und Workshops formen das Programm. Sie findet dieses Jahr vom 4. bis 8. Juli statt.