osob.de Unicorn Logo
Blogpost overview

Warum sich ein Blick auf Static Site Generatoren lohnt | 26.03.2020

<p>Wer heute eine Website aufsetzen möchte, kann sich zwischen nahezu unendlich vielen Alternativen entscheiden, wenn es um die Realisierung des Blogs oder der Firmenseite geht. Zu Beginn steht die Frage der zu nutzenden Sprache, bevor sich dann in den unendlichen Weiten der CMS, Blogging-Software, Static Site Generatoren und Services die eine Anwendung herausgesucht wird, mit deren Hilfe die Information im Netz am Ende präsentiert wird.</p> <p>Es ist kein Geheimnis, dass viele private Websites mit WordPress realisiert werden. Größere Seiten greifen auf ein Framework zurück, das in der entsprechenden Sprache oft mehr Möglichkeiten bietet und sich oft in den Workflow der Unternehmen integrieren lässt. Und irgendwie gibt es für jeden Zweck ein passendes Tool.</p> <p>In den letzten Jahren war dabei ein Trend zu beobachten, der im Endeffekt das krasse Gegenteil der großen "Enterprise Content Management System" (oder wie auch immer die Systeme genannt werden sollen) darstellt. Die Rede ist hier von statischen Sitegeneratoren.</p> <p>

You like what you find here? A donation helps to keep this project running.

Das Konzept der statischen Website hat einen ganz wesentlichen Nachteil. Die Inhalte lassen sich meist nur mit entsprechendem Aufwand aktualisieren. Es gilt dabei ganz bewusst zwischen den Begrifflichkeiten Dynamik und Aktualität zu unterscheiden. Dynamik kann nämlich auch mithilfe von JavaScript erzeugt werden. Die Aktualität sind die tatsächlichen Informationen, egal wie dynamisch diese aufbereitet werden.</p> <p>In den frühen Tagen des Webs bedeutete eine statische Website oft, dass auf dem Computer des Webmasters (heute Admin) ein Programm lief, das die Erstellung ermöglichte. Ein bekanntes Beispiel dafür ist sicherlich der gute alte Dreamweaver. Nachdem die Inhalte aktualisiert wurden, stieß der Webmaster den Prozess der Veröffentlichung an.</p> <p>Natürlich war damals schon ein gemeinschaftliches Bearbeiten der statischen Informationen möglich. Wenn dieses Problem lösbar war, war das Resultat aber immer noch eine Information, die statisch an die Präsentation gebunden war. An diesem Punkt setzen CMS (und ähnliche Konzepte) an, indem die Verbindung zwischen Information und Präsentation gelöst wurde.</p> <p>Aktuelle Sitegeneratoren können dies bedingt. Sie funktionieren nämlich mit einer einheitlichen Präsentation und davon losgelösten Informationen, die im Prozess der Veröffentlichung entsprechend zusammengebracht werden. Viele Generatoren greifen dabei auf eine Auszeichnungssprache wie Markdown zurück. Die Meta-Informationen werden dabei in die Datei geschrieben und getrennt vom eigentlichen Inhalt geparst und an die Präsentationsschicht gegeben.</p> <p>Der Trend zu den Sitegeneratoren erklärt sich aber dadurch, dass hier eine weitere Technologie zum Einsatz kommt: Software zur Versionsverwaltung.</p> <h2>Static Sitegeneratoren brauchen Versionsverwaltung</h2> <p>Durch den Einsatz von Versionsverwaltung - oft Git - kann das zweite Problem der statischen Inhalte abgestellt werden. Die wesentlichen Informationen werden kollaborativ erarbeitet und nach der Finalisierung über die Sitegeneratoren in das finale Produkt überführt.</p> <p>Dieser Workflow wird durch die Generatoren unterschiedlich stark unterstützt. Während einige Generatoren über entsprechende Callbacks einen Branch folgen, muss bei anderen der Veröffentlichungsprozess händisch angestoßen werden. Nur wenige Generatoren verfügen über ein Backend, welches eine Nutzerverwaltung ermöglicht. Das Konzept der Static Site Generatoren sieht dies auch nicht wirklich vor. Die Nutzerverwaltung wird vor den Veröffentlichungsprozess verlagert, hinein in die Versionsverwaltung.</p> <p>Ein Problem kann aber auch die Versionsverwaltung nicht lösen: Fehlende Dynamik der Information. So ist die Anbindung an eine Datenbank oder externe Datenquelle nicht möglich. Zumindest nicht, wenn die so abgefragten Datensätze Teil der eigentlichen Information sein sollen. Ein Workaround kann hier natürlich auch wieder auf der Seite der Nutzer genutzt werden, indem dieser die Daten aus den entsprechenden Quellen ausliest und in die Versionsverwaltung einpflegt. Damit werden die Datensätze Teil der Information und das Problem ist gelöst. Aber sollte sich nur einer der Datensätze ändern, muss der ganze Informationsteil neu generiert werden. Der Aufwand ist hierbei stark abhängig vom Projekt.</p> <h2>Vorteil von Static Site Generatoren ist Geschwindigkeit</h2> <p>Die Generatoren sind natürlich kein Selbstzweck. Der große Vorteil ist einfach die Geschwindigkeit. Während für ein CMS auf Basis von Node oder PHP viele Vorgänge im Hintergrund ablaufen, die eine gewisse Rechenleistung und somit Bearbeitungszeit erfordern, wird der statische Inhalt direkt an den Nutzer ausgeliefert.</p> <p>Je nach Qualität der Anwendung und Leistungsfähigkeit der Umgebung/Anbindung geht es hier um wenige Millisekunden oder auch Sekunden. Sicherlich wird es hier Szenarien geben, in denen es auf Sekunden oder Minuten nicht ankommt. Jedoch sind der Geschwindigkeitsvorteil und der Rechenleistungsvorteil durchaus zu quantifizieren und so auch zu amortisieren.</p> <h2>Generatoren sind nicht für jeden sinnvoll</h2> <p>Es wird schnell klar, dass Static Site Generatoren nicht für jeden Zweck eine sinnvolle Wahl sind. Wer jedoch in der Verantwortung für eine Website steht, auf der die wesentlichen Informationen im Mittelpunkt stehen (also nicht die Interaktion gefragt ist), sollte über den Einsatz nachdenken. Ich denke hier an Seiten bspw. von öffentlichen Einrichtungen, die für eine Vielzahl von Nutzern verfügbar sein sollen.</p> <p>Durch den Einsatz von Static Site Generatoren kann sichergestellt werden, dass mehr Nutzer an die notwendige Information gelangen. Und dies zur gleichen Zeit. Geringere Wartezeiten beschleunigen ggf. die Entscheidungsfindung, könnten den Akku des Smartphones schonen oder sind schnelle Hilfestellungen in Notsituationen.</p> <p>Wer also eine Info- oder Statusseite aufsetzt, kann beim nächsten Mal über den Einsatz von Static Site Generatoren nachdenken.</p>