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:

Chancen:

Risiken:

Zusammen ermöglicht dies SPAs.

Serverseitiges Rendering (SSR)

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

Chancen:

Risiken:

SPAs sind somit nicht möglich, nur MPAs.

Gemischtes Rendering

Das Setzen des innerHtml-Attributs von DOM-Elementen ist nicht langsamer als entsprechende Aufrufe von DOM-Methoden. Es ist somit praktikabel, serverseitig HTML-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 Interaktionen, die keine neuen Daten vom Server benötigen. Diese haben teilweise eine merkliche Latenz.

Chancen:

Risiken:


Alle Angaben ohne Gewähr • HomeKontakt