Ursprünglich bestand eine Webseite aus einem einfachen Ordner mit HTML-Files, welche über HTTP von einen Webserver abgerufen werden konnten. Browser waren lediglich einfache Programme, welche es ermöglichten, statische HTML-Dokumente zu betrachten.
Um dieses Problem zu lösen, begann man auf Webservern Programme laufen zu lassen, welche HTML erzeugen. Jede Seite wird für jeden Besucher auf diese Art und Weise «on-the-fly» zusammengesetzt. Während diesem Prozess werden beispielsweise bei klassischen Content Management Systemen auch Inhalte aus Datenbanken abgerufen und «dynamische» Inhalte generiert. Dies führt dazu, dass Webserver viel mehr Rechenleistung benötigen, um schnelle Ladezeiten zu gewähren.
Static Site Generators (SSGs) versprechen eine flexiblere Arbeitsweise, mehr Sicherheit für User, bessere Performance und keine hohen Anforderungen an das Hosting. Wie sie das machen? Indem die HTML-Seiten nicht bei jedem Aufruf durch einen Benutzer auf dem Server neu erstellt werden. Das Generieren der HTML-Seiten erfolgt bei Änderungen lediglich einmal, anschliessend werden die statischen Files für Besucher abgelegt.
SSGs werden häufig mit den Begriffen «JAMstack» und «Serverless» in Verbindung gebracht. In dieser Kategorie gibt es verschiedenste Services und Tools, welche SSGs unterstützen und mit SSGs generierte Seiten trotzdem «dynamisch» machen können.
Die folgende Seite ist ein übersichtliches Verzeichnis von Services und Ressourcen:
“Serverless” | CSS-Tricks
Über mehrere Monate befasste ich mich intensiv mit dem Framework Nuxt.js. Nuxt.js basiert auf Vue.js und bietet sowohl einen «Server Side Rendered» Modus, als auch einen Modus für «Statically Generated». In einem anschliessenden Projekt entstand die Webseite für eine Forschungsarbeit von Prof. Dr. Christian Hauser (Verantwortungsvolle Unternehmensführung in Lateinamerika): https://csr-la.net/
(bae)