Was ist ein Generator für statische Websites (Static Site Generator, SSG)

Ein Generator für statische Websites automatisiert den Prozess der Codierung statischer HTML-Webseiten.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Generator für statische Websites definieren
  • Unterschied zwischen Generatoren für statische Websites und CMS
  • Vor- und Nachteile der Verwendung von Generatoren für statische Websites erkunden

Link zum Artikel kopieren

Was ist ein Generator für statische Websites (Static Site Generator, SSG)

Ein Generator für statische Websites ist ein Tool, das auf der Grundlage von Rohdaten und einer Reihe von Vorlagen eine vollständige statische HTML-Website erstellt. Im Wesentlichen automatisiert ein Generator für statische Websites die Codierung einzelner HTML-Seiten und bereitet diese Seiten vor, damit sie den Nutzern zur Verfügung stehen. Da diese HTML-Seiten vorgefertigt sind, können sie sehr schnell in den Browsern der Nutzer geladen werden.

Statische Website-Generatoren sind eine Alternative zu Content-Management-Systemen (CMS) – einer anderen Art von Tool zur Verwaltung von Webinhalten, zur Erstellung von Webseiten und zur Implementierung von Vorlagen. (Eine Vorlage ist ein wiederverwendbares Format für Webinhalte; mit Vorlagen vermeiden Entwickler, dass immer wieder dieselbe Formatierung geschrieben wird). Statische Website-Generatoren sind in der Regel Teil eines JAMstack-Webentwicklungsansatzes.

Was ist eine statische Website?

Eine statische Website besteht aus einer oder mehreren HTML-Webseiten, die jedes Mal auf die gleiche Weise geladen werden. Statische Websites stehen im Gegensatz zu dynamischen Websites, die je nach den sich ändernden Eingaben des Nutzers, wie z. B. Standort, Tageszeit oder Aktionen des Nutzers, unterschiedlich geladen werden. Während statische Webseiten einfache HTML-Dateien sind, die schnell geladen werden können, müssen dynamische Webseiten im Browser JavaScript-Code ausführen, um gerendert zu werden.

Was ist der Unterschied zwischen einem statischen Website-Generator und einem CMS?

In den Anfängen des Internets wurden Websites als statische HTML-Seiten gespeichert, wobei alle Webseiten im Voraus angelegt und fest kodiert wurden. Das war ineffizient, da die Entwickler jede einzelne Seite manuell programmieren mussten.

Content Management Systeme (CMS) wurden entwickelt, um Entwicklern dieses manuelle Setup zu ersparen. Anstatt die Seiten im Voraus zu kodieren, werden die Inhalte in einer CMS-Datenbank gespeichert, und wenn ein Nutzer eine Seite anfordert, führt der Server folgende Schritte aus:

  1. Fragt die Datenbank nach dem richtigen Inhalt ab
  2. Ermittelt die Vorlage, in die der Inhalt passen soll
  3. Erzeugt die Seite
  4. Stellt dem Nutzer die Seite zur Verfügung

Die Inhalte im CMS müssen in eines der von der CMS-Datenbank angebotenen Felder passen, aber solange das der Fall ist, sollten sie jedes Mal an der richtigen Stelle auf der Website erscheinen.

Ein Generator für statische Websites ist ein Kompromiss zwischen diesen beiden Ansätzen. Wie ein CMS erlaubt er den Entwicklern die Verwendung von Vorlagen und generiert automatisch Webseiten – letzteres jedoch im Voraus und nicht erst auf Anfrage eines Nutzers hin. Dies erhöht die Performance der Website, da die Webseiten sofort für die Auslieferung an die Nutzer bereit sind. Außerdem bietet es den Entwicklern mehr Anpassungsmöglichkeiten, da sie nicht durch die vom CMS angebotenen Datenbankfelder eingeschränkt sind.

Was sind die Vor- und Nachteile der Verwendung eines Generators für statische Websites?

Vorteile

  • Performance: Da die Generatoren für statische Websites die Webseiten im Voraus erstellen und nicht erst bei Bedarf (wie bei einem CMS), werden die Webseiten in den Browsern der Nutzer etwas schneller geladen.
  • Anpassbarkeit: Die Entwickler können jede beliebige Vorlage erstellen. Sie sind weder durch die von einem CMS bereitgestellten Felder noch durch die in einem CMS integrierten Vorlagen eingeschränkt.
  • Leichteres Backend: Statische Websites sind leichtgewichtig und benötigen nicht so viel Code auf der Serverseite, während CMS-basierte Websites ständig die Serverseite nach Inhalten abfragen.

Nachteile

  • Wenige oder keine vorgefertigten Vorlagen: Der Nachteil der unbegrenzten Anpassungsmöglichkeiten ist, dass der Einstieg in die Website länger dauern kann. Viele Generatoren für statische Websites enthalten keine Vorlagen, sodass die Entwickler sie anfangs zeitaufwändig von Grund auf neu erstellen müssen.
  • Keine benutzerfreundliche Oberfläche: Für Nutzer, die keine Entwickler sind, ist es schwieriger, Inhalte mit einem statischen Website-Generator zu veröffentlichen. Es gibt keine CMS-Schnittstelle, und die Arbeit mit unformatierten Rohdaten kann Nutzer einschüchtern. Außerdem ist für die Aktualisierung der Website oft die Unterstützung eines Entwicklers erforderlich.

Wie verhält sich JAMstack zu statischen Website-Generatoren?

JAMstack (JAM steht für „JavaScript, APIs, Markup“) ist eine Methode zur effizienten Erstellung leichtgewichtiger, schnell funktionierender Webanwendungen. JAMstack-Anwendungen sind statisch, wobei für alle Backend-Funktionen APIs verwendet werden. Mit statischen Website-Generatoren können Entwickler schnell ein Frontend für eine JAMstack-Anwendung erstellen.

Wie werden Frontend-Frameworks mit statischen Website-Generatoren verwendet?

Ein Frontend-Framework ist eine Sammlung von Dateien und Ordnern mit vorgefertigtem Code, der bei der Gestaltung und Formatierung einer Website hilft. Zu den gängigen Frontend-Frameworks gehören Bootstrap, React und Vue.js, aber es gibt noch viele andere.

Frontend-Frameworks helfen Entwicklern bei der Erstellung einer Website sehr. Frontend-Frameworks allein generieren jedoch keine HTML-Webseiten, es sei denn, ein Entwickler verwendet zusätzliche Tools. Ein statischer Website-Generator kann zusammen mit einem Framework verwendet werden, damit ein Entwickler schnell eine vollständig gestaltete Website oder Anwendung zur Verfügung hat. Die meisten Generatoren für statische Websites erlauben Entwicklern die Verwendung jedes gewünschten Frameworks.

Was ist Markdown?

Markdown ist eine weit verbreitete, einfache Auszeichnungssprache zur Formatierung von Text. Viele Entwickler bevorzugen heute die Verwendung von Markdown gegenüber traditionellem HTML, wenn sie Inhalte kodieren, und viele Generatoren für statische Websites unterstützen Markdown.

Was sind einige häufig verwendete Generatoren für statische Websites?

Es gibt heute viele Generatoren für statische Websites. Einige wichtige davon sind:

  • Jekyll
  • Gatsby
  • Hugo
  • Next.js
  • Eleventy

Cloudflare Pages wird auf dem globalen Netzwerk von Cloudflare gehostet, das innerhalb von 100 ms von 99 % der mit dem Internet verbundenen Welt erreichbar ist, sodass die Inhalte den Nutzern nahezu sofort zur Verfügung stehen. Cloudflare Pages basiert auf den serverlosen Funktionen von Cloudflare Workers und ermöglicht es Entwicklern, leichtgewichtige, skalierbare Webanwendungen zu erstellen.

Erfahren Sie, wie Sie eine Jekyll-Site, eine Gatsby-Site, eine Hugo-Site und mehr mit Cloudflare Pages bereitstellen.