JAMstack

Architektur für die Frontend-Webentwicklung

  ·  2 min read

Publishing

JAMstack ist eine Architektur für die Frontend-Webentwicklung: Inhalte und Oberflächen erstellen, mit denen Nutzer interagieren. Sie ermöglicht es Entwicklern, statische Websites schnell zu erstellen und effizient für Nutzer bereitzustellen. 1

Erstellen #

Die ‘Build-Zeit’ ist der grösste Unterschied zu einem herkömmlichen Web-Anwendungs-Stack:

Inhaltserstellung: Ein Editor bietet dem Benutzer die Möglichkeit, Inhalte als Text in Markdown-Dateien (.md) einzugeben. Jede Datei repräsentiert eine Seite auf der Website. Metadaten wie Titel, Datum oder Kategorien sind am Anfang der Datei in einem sogenannten “Front Matter” zu definieren.

Vorlagen und Themes: Der Benutzer wählt ein vorgefertigtes Theme oder erstellt aus einem Digitalen Dokument eigene HTML-Vorlagen. Diese Vorlagen (Templates) bestimmen, wie die Markdown-Inhalte in das endgültige HTML-Layout einzufügen sind.

Eine Dateifreigabe wird autoriserten Benutzern die Möglichkeit bieten, Dateien (Inhalte, Vorlagen, etc.) zu synchroniseren und zu teilen (sync&share).

Generierung: Ein Static Site Generator SSG im JAMstack ist fähig, jede mögliche Ansicht (Webseiten) einer Website zu generieren und zwar bevor ein Benutzer diese anfordert (Build).

Sobald der Build-Befehl eingegeben ist, wird der Static Site Generator SSG alle Inhaltsdateien verarbeiten, diese in die entsprechenden Vorlagen einfügen und einen public-Ordner erstellen, der die gesamte fertige Webseite enthält.

Teilen #

Veröffentlichung: Der Benutzer muss die fertige Website auf einen Webserver hochladen.

Sobald der Inhalt des public-Ordners auf einen Ursprungs-Server hochgeladen ist, wird ein Browser dem Benutzer die Möglichkeit bieten, Webseiten der Websites direkt vom Ursprungs-Server oder indirekt vom Edge-Server eines CDN’s anzufordern (request). Danach wird der Server die angeforderte Webpage an den Browser des Benutzers senden.