© StonePictures/Shutterstock.com
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.

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ätze

Der Unterschied zwischen serverseitigen Ansätzen und den rein clientseitigen Frameworks liegt darin, an welcher Stelle die eigentliche Logik beziehungsweise der Status einer Webanwendung verwaltet wird. Dazu gehören unter anderem die UI-Logik, die Renderlogik und zu gewissen Teilen auch die Businesslogik einer Applikation. In serverseitig gerenderten Anwendungen wie JSF wird der Großteil der Daten auf dem Server verarbeitet. Bei jedem Request generiert das Framework dynamisch HTML auf Basis des aktuellen Zustands der Anwendung. Der Server ist also die einzige Quelle der Wahrheit (Single Source of Truth), und der Client (Browser) nimmt häufig eine eher passive Rolle ein. JavaScript kommt allenfalls für simple DOM-Manipulationen oder für die Verarbeitung asynchroner Anfragen (Ajax) zum Einsatz.

Bei 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 Webapplikati...

Exklusives Abo-Special

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