Interview 05.05.2022, 08:31 Uhr

"React führt einige sehr sinnvolle Paradigmen für die UI-Entwicklung ein."

Microfrontends und React sind die Steckenpferde von Dr. Florian Rappl. dotnetpro sprach mit ihm, warum Microfrontends hilfreich sind und worauf man bei der Entwicklung achten muss.
(Quelle: Dr. Florian Rappl)

Man könnte mit Fug und Recht behaupten, dass du Mr. Microfrontends bist. Kannst du kurz erläutern, was Microfrontends sind?

Dr. Florian Rappl: Microfrontends stellen eine Herangehensweise zur Verteilung von Teilen des UI auf mehrere Teams dar. Damit kann man beispielsweise die Entwicklung auf mehrere unabhängige Fullstack-Teams verteilen oder gezielt Teile der Gesamtanwendung aktualisieren, ausrollen oder abschalten, ohne die Applikation anrühren zu müssen.

Moderne Architektur lehnt Monolithen ab. Microservices sind gefragt. Damit tritt aber ein Problem auf: Wie verwaltet man diese Dienste. Gibt es ein ähnliches Problem auch bei Microfrontends?

Dr. Florian Rappl: In gewisser Weise ja. Je nachdem welches Framework beziehungsweise welche Architektur für Microfrontends gewählt wird, muss das Zusammenspiel der verschiedenen Microfrontends orchestriert werden. Insgesamt empfiehlt es sich hier, auf flache Architekturen zu setzen, um nicht in der Orchestrierungshölle mit tiefen Abhängigkeiten und Veröffentlichungsprotokollen zu landen.

In einem deiner Vorträge sprichst du über Dependency Management. Was versteht man darunter?

Dr. Florian Rappl: Bei clientseitigen Microfrontends gibt es unter anderem zwei Probleme: Zum einen sollte die Performance gut sein, zum anderen sind Frontendabhängigkeiten (von Paketen wie beispielsweise React) nicht immer duplizierbar. Ein Weg, um beide Probleme zu lösen beziehungsweise zu vermeiden, ist die Teilung von Abhängigkeiten. So könnte zum Beispiel React global zwischen allen Microfrontends genutzt werden.
Jetzt hat man jedoch ein anderes Problem - wie kann man hier sicherstellen, dass alle dieselbe Version von React referenzieren? Was passiert wenn sich die globale Version ändert? Was ist mit Abhängigkeiten die global gar nicht bekannt sind, aber von mehreren Microfrontends genutzt werden? Beim Vortrag ums Thema Dependency Management werden genau diese Fragen diskutiert und Lösungswege aufgezeigt.

Gibt es bestimmte Technologien, mit denen sich solche Frontends besser umsetzen lassen?

Dr. Florian Rappl: Am Besten eignen sich Technologien, die ansich sehr leichtgewichtig sind und gar keine globale Unterstützung beziehungsweise ein Framework jeder Art benötigen. Hier zählen unter anderem Technologien wie Elm, Solid oder Svelte dazu.

Du hältst auch eine Session über React. Warum gerade über dieses Framework?

Dr. Florian Rappl: React ist nicht nur weit verbreitet und vom API-Layer her gut überschaubar, sondern führt vor allem einige sehr sinnvolle Paradigmen für die UI-Entwicklung ein. Wer React gut versteht, kommt sofort mit Frameworks wie Solid oder Svelte zurecht und tut sich auch erheblich leichter bei manch anderen Technologien.

Was hältst du von Angular und Vue.js? Warum gefällt dir React besser?

Dr. Florian Rappl: Beides sind sehr weitverbreitete und gute Frameworks. Eins der Probleme von Angular ist, dass hier zu viel Framework gebaut wurde und zu wenig existierende Technologien wiederverwendet wurden beziehungsweise werden können. Im Prinzip wurde für viele Teile das Rad ohne zwingenden Grund neu erfunden. Vue.js ist sicherlich ein sehr guter Kompromiss zwischen Angular und React. Für mich persönlich immer noch ein bisschen zu viel Magie und zu viele Ausnahmen.
Quelle: Dr. Florian Rappl
 Dr. Florian Rappl ist Solution Architect für IoT und verteilte Webanwendungen bei smapiot. Sein Hauptinteresse liegt in der Erstellung innovativer Architekturen, die sich sowohl bei der Entwicklung als auch im Betrieb skalieren lassen. Er hat mehrere Preise für seine Arbeit gewonnen und ist Microsoft MVP im Bereich Entwicklungstechnologien. Er bloggt regelmäßig und schreibt Artikel für populäre Magazine und Websites im Bereich Webentwicklung.
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.


Das könnte Sie auch interessieren