© Excellent backgrounds/Shutterstock.com
Java Magazin
Kolumne: EnterpriseTales

Was ein „modernes“ Web-Frontend bedeutet

Der Entscheidungsprozess bei Web-Frontends ist häufig Framework-getrieben und betrachtet die architektonischen Implikationen nur am Rande. So ist es heute schon fast selbstverständlich, dass Webanwendungen als clientseitig gerenderte Single Page Applications (SPA) entwickelt werden. Die allgemeine Definition eines „modernen“ Frontends ist dabei nicht selten unmittelbar an die Auswahl eines konkreten Frameworks gebunden. Die Zeiten der eher klassischen, rein serverseitig getriebenen Ansätze (z. B. JSF) scheinen vorbei zu sein.

Sven Kölpin


SPAs haben durchaus ihre Vorzüge, nicht umsonst ist dieses Konzept langsam, aber sicher zum Status quo der heutigen Webentwicklung geworden. Man darf allerdings die Augen nicht davor verschließen, dass die Entwicklung rein clientseitiger Webanwendungen bedeutende Auswirkungen auf die Systemarchitektur und viele neue Herausforderungen mit sich bringt.Die unterschiedlichen AnsätzeBei clientseitigen Webanwendungen ist das anders. Große Teile der Logik und des Status, dazu zählt vor allem die UI- und Renderlogik, werden clientseitig ausgeführt. Deshalb spricht man hier auch von clientseitig gerenderten Anwendungen. Sowohl der Server als auch der Client nehmen bei dieser Art von Webanwendung eine andere Rolle ein. Durch die Verschiebung UI-spezifischer Logik in den Client gewinnt der Browser an Bedeutung. Er fungiert nun nämlich als Laufzeitumgebung für eine echte JavaScript-Anwendung und nicht mehr nur als „dummer“ Client. Der Server hingegen gibt einen Großteil der Verantwortung für die Benutzungsoberfläche ab und wird so vornehmlich als Datenlieferant verwendet.Für die Entwicklung heißt das im Klartext, dass clientseitig gerenderte Webapplikationen in zwei deutlich getrennte Anwendungsteile, nämlich Frontend und Backend, aufgeteilt sind. Anders als bei rein serverseitigen Frameworks, wie zum Beispiel JSF, kann somit nicht mehr eine zentralistische Webanwendung, die durch eine entsprechende Abstraktion häufig sogar zu großen Teilen in nur einer Programmiersprache (z. B. Java) entwickelbar ist, implementiert werden. Das hat neben technischen und architektonischen vor allem auch organisatorische Auswirkungen. Beispielsweise werden durch die Trennung häufig automatisch wieder dedizierte Backend- und Frontend-Teams gebildet.Clientseitiges vs. serverseitiges RenderingAls weiterer Vorteil wird zudem häufig die Skalierbarkeit genannt. Durch die Verlagerung der UI-, Render- und Businesslogik in den Client werden serverseitig weniger Ressourcen benötigt. Schließlich müssen keine CPU-Zyklen mehr für die Generierung von HTML durch die Templating Engines (z. B. Facelets bei JSF) aufgewendet werden. Auch Session-Informationen liegen nicht mehr zwingend auf dem Server, was bei großen Benutzerzahlen positive Auswirkungen auf den Speicherverbrauch haben kann. Vor allem im Cloud-Umfeld, in dem die serverseitige Statuslosigkeit durch Prinzipien wie Function as a Service (FaaS) eine zentrale Rolle eingenommen hat, bringt das clientseitige Rendering somit entscheidende Vortei...

Java Magazin
Kolumne: EnterpriseTales

Was ein „modernes“ Web-Frontend bedeutet

Der Entscheidungsprozess bei Web-Frontends ist häufig Framework-getrieben und betrachtet die architektonischen Implikationen nur am Rande. So ist es heute schon fast selbstverständlich, dass Webanwendungen als clientseitig gerenderte Single Page Applications (SPA) entwickelt werden. Die allgemeine Definition eines „modernen“ Frontends ist dabei nicht selten unmittelbar an die Auswahl eines konkreten Frameworks gebunden. Die Zeiten der eher klassischen, rein serverseitig getriebenen Ansätze (z. B. JSF) scheinen vorbei zu sein.

Sven Kölpin


SPAs haben durchaus ihre Vorzüge, nicht umsonst ist dieses Konzept langsam, aber sicher zum Status quo der heutigen Webentwicklung geworden. Man darf allerdings die Augen nicht davor verschließen, dass die Entwicklung rein clientseitiger Webanwendungen bedeutende Auswirkungen auf die Systemarchitektur und viele neue Herausforderungen mit sich bringt.Die unterschiedlichen AnsätzeBei clientseitigen Webanwendungen ist das anders. Große Teile der Logik und des Status, dazu zählt vor allem die UI- und Renderlogik, werden clientseitig ausgeführt. Deshalb spricht man hier auch von clientseitig gerenderten Anwendungen. Sowohl der Server als auch der Client nehmen bei dieser Art von Webanwendung eine andere Rolle ein. Durch die Verschiebung UI-spezifischer Logik in den Client gewinnt der Browser an Bedeutung. Er fungiert nun nämlich als Laufzeitumgebung für eine echte JavaScript-Anwendung und nicht mehr nur als „dummer“ Client. Der Server hingegen gibt einen Großteil der Verantwortung für die Benutzungsoberfläche ab und wird so vornehmlich als Datenlieferant verwendet.Für die Entwicklung heißt das im Klartext, dass clientseitig gerenderte Webapplikationen in zwei deutlich getrennte Anwendungsteile, nämlich Frontend und Backend, aufgeteilt sind. Anders als bei rein serverseitigen Frameworks, wie zum Beispiel JSF, kann somit nicht mehr eine zentralistische Webanwendung, die durch eine entsprechende Abstraktion häufig sogar zu großen Teilen in nur einer Programmiersprache (z. B. Java) entwickelbar ist, implementiert werden. Das hat neben technischen und architektonischen vor allem auch organisatorische Auswirkungen. Beispielsweise werden durch die Trennung häufig automatisch wieder dedizierte Backend- und Frontend-Teams gebildet.Clientseitiges vs. serverseitiges RenderingAls weiterer Vorteil wird zudem häufig die Skalierbarkeit genannt. Durch die Verlagerung der UI-, Render- und Businesslogik in den Client werden serverseitig weniger Ressourcen benötigt. Schließlich müssen keine CPU-Zyklen mehr für die Generierung von HTML durch die Templating Engines (z. B. Facelets bei JSF) aufgewendet werden. Auch Session-Informationen liegen nicht mehr zwingend auf dem Server, was bei großen Benutzerzahlen positive Auswirkungen auf den Speicherverbrauch haben kann. Vor allem im Cloud-Umfeld, in dem die serverseitige Statuslosigkeit durch Prinzipien wie Function as a Service (FaaS) eine zentrale Rolle eingenommen hat, bringt das clientseitige Rendering somit entscheidende Vortei...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang