Rendering von Webseiten

Beim Rendering werden Webbrowser angewiesen, DOM-Element zu erstellen, zu löschen oder zu verändern. Diese Anweisungen können durch entweder serverseitigen Code, clientseitigen Code oder durch beide erfolgen.

Clientseitiges Rendering (CSR)

Beim clientseitigen Rendering:

SPAs sind somit möglich.

Chancen:

Risiken:

Serverseitiges Rendering (SSR)

Beim serverseitigen Rendering sendet der Server den bereits vollständigen DOM (in Formaten wie HTML, CSS, SVG etc.) an den Webbrowser. Clientseitig muss kein Code ausgeführt werden.

SPAs sind nicht möglich, nur MPAs.

Chancen:

Risiken:

Gemischtes Rendering

Das Setzen des innerHtml-Attributs von DOM-Elementen ist nicht langsamer als entsprechende Aufrufe von DOM-Methoden. Es ist somit praktikabel, serverseitig DOM-Strings zu generieren, sie mit den übrigen Daten zu übertragen und dem innerHtml-Attribut ausgewählter DOM-Elemente zuzuweisen. Anschließend können Eventhandler, mittels der Ergebnisse von z.B. Element.getElementsByClassName() gesetzt werden (Hydration).

Bei DOM-Elementen, für deren Erstellung oder Anpassung ohnehin Daten vom Server bezogen werden müssen, bietet sich dieses Vorgehen an.

htmx verwendet diesen Ansatz – allerdings auch für Veränderungen, die keine Daten vom Server benötigen. Diese haben teilweise eine merkliche Latenz.

Chancen:

Risiken:


Alle Angaben ohne Gewähr • HomeKontakt