Optionen für das Rendering von Webseiten

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

Clientseitiges Rendering

Beim clientseitigen Rendering sendet der Server in der Regel Daten, die in Formaten wie JSON oder XML serialisiert sind. Der Webclient deserialisiert diese und passt den DOM aufgrund dieser Daten entsprechend an.

Chancen:

Risiken:

Zusammen ermöglicht dies SPAs.

Serverseitiges Rendering

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.

Client- und serverseitiges 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.

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. Dies führt bei einfachen Aktionen teilweise zu merklicher Latenz.

Chancen:

Risiken:


Alle Angaben ohne Gewähr • HomeKontakt