JAMstack - die neue Art Websites zu entwickeln

JAMstack - die neue Art Websites zu entwickeln



Die JAMstack ist eine Architektur für die Bereitstellung statischer Websites und Web-Anwendungen. Sie basiert auf Client-seitigem JavaScript, APIs und Markup. Die JAMstack ist ein neuer Ansatz für die Bereitstellung von Websites und Web-Anwendungen, der sich in den letzten Jahren entwickelt hat. Die JAMstack ist eine moderne Art das Web-Hosting, bei der alle Assets, die für eine Website oder eine Web-Anwendung erforderlich sind, bereits beim Aufruf der Website zur Verfügung stehen und nicht erst von einem Serverskript (wie PHP) erzeugt werden muss. Dazu gehören HTML-Dateien, CSS-Dateien, JavaScript-Dateien und Bilddateien. Diese Assets werden dann vom Webserver an den Client gesendet, der sie dann rendert.

In diesem Artikel werde ich erklären, was die JAMstack ist und warum sie eine bessere Alternative zu klassischen Websites darstellt.

1. Was bedeutet JAM?

JAM steht für

  • JavaScript
  • APIs
  • Markup.

Diese Architektur setzt voraus, dass statische, vor gerenderte Seiten über ein Content-Delivery-Network (CDN) ausgeliefert werden. Die Anwendungen werden durch die Integration von APIs und JavaScript dynamisch. Die JAM-Architektur kann direkt als vorab gerenderte Seiten über ein Content Delivery Network (CDN) bereitgestellt werden, was zu sehr schnellen Ladezeiten der Website führt und damit eine geringere Absprungrate (besonders bei Mobilgeräten) aufweist. Da Serverseitig kein PHP Code mehr ausgeführt wird, ist Ihre Website weniger angreifbar und bietet weitaus mehr Sicherheit.

1. Was genau ist JAMstack nun?

JAMstack ist lediglich ein moderner Ansatz der Webentwicklung. Bisher wurden mit dem klassischen LAMP-Stack (Linux, Apache, MySQL & PHP) die HTML Seiten von einem Serverskript wie PHP erzeugt und an den Client ausgeliefert. Seit einigen Jahren werden aufgrund von Pagespeed Optimierung statische Websites immer beliebter. Diese brauchen keine Programmiersprache wie PHP, um das HTML auszuliefern, sondern liefern direkt statisches HTML aus, welches nicht zuvor erzeugt werden musste. Das spart Rechenleistung und macht die Seite wesentlich schneller. Das Ganze hat jedoch den Nachteil, dass es umständlich bis unmöglich ist, dynamische Elemente in die Website einzubauen. Der JAMstack löst dieses Problem damit, dass es über JavaScript dynamische Inhalte von einer API ausliest und dem Websitebesucher zur Verfügung stellen kann.

Bei klassischen CMS Systemen war es möglich, dass sich der Webentwickler mit der technischen Betreuung der Website beschäftigt und ein Marketing Team mit der Lead-Generierung und schreiben von Blogartikeln. Das war bei statischen Websites extrem umständlich, teil es allein durch Markup Language schwer ist, Mehrspalten Layouts zu erstellen oder ohne HTML Kenntnisse Änderungen an der Website vornehmen zu können. JAMstack Seiten ermöglichen den Einsatz eines sogenannten Headless CMS. Dies ist letztendlich eine API welche die Bereitstellung von Text und Multimedia Inhalte für JAMstack Seiten ermöglicht. So kann das Redaktions-Team wie gewohnt Ihre Texte formulieren, Bilder hochladen und Formulare erstellen, ohne dass ein PHP Script die Inhalte als HTML rendern muss.

Klassiche CMS Systeme

Ein CMS System ist ein Werkzeug, das Ihnen die Arbeit bei der Erstellung und Pflege Ihrer Website erleichtert. Es ist eine Plattform, auf der Sie Inhalte erstellen und veröffentlichen können, ohne ein Experte in Webdesign oder Programmierung zu sein. Ein CMS System kann Ihnen helfen, Ihre Website schnell und einfach zu erstellen, ohne dass Sie sich über die technischen Aspekte des Webdesigns Gedanken machen müssen. Sie können sich voll und ganz auf den Inhalt Ihrer Website konzentrieren, während das CMS System für Sie die technischen Details erledigt. Mittels diversen Plugins kann die Website einfach erweitert werden. CMS Systeme sind einfach in der Installation und Benutzung und es gibt unzählige Dienstleister, die bei der Umsetzung der Website aushelfen. Leider sind CMS Systeme schwer zu optimieren. Installierte Plugins können fast nicht angepasst werden. Selbst wenn diese abgeändert werden, sind die Änderungen spätestens beim nächsten Update wieder überschrieben. Der HTML Code wird vom Server generiert, was Zeit in Anspruch nimmt und die Website langsamer macht, als vor gerenderte statische Websites oder JAMstack Websites.

Static Pages

Static Pages oder auch statische Websites sind das absolute Gegenteil von CMS Websites. Bei statischen Websites wird vom Entwickler über einen Static Page Generator die Website erstellt und anschließend zu einem Hosting Anbieter hochgeladen. Was früher mühsam manuell über FTP gemacht wurde, ist mittlerweile über DevOps automatisierbar. Auch nehmen Anbieter wie Netlify oder Cloudflare einem diesen Schritt ab. Statische Websites sind bereits fertiges HTML, das direkt an den Websitebesucher ausgeliefert werden kann, ohne vorher von einer Website gerendert werden zu müssen. Das macht statische Websites viel schneller und leichter zu optimieren als CMS Websites. Der Nachteil: Neue Inhalte müssen in HTML oder Markdown Sprache offline in einem Code Editor geschrieben werden. Somit sind statische Websites für redaktionelle Teams eher ungeeignet. Ebenso kann keine serverseitige Geschäftslogik wie ein Webshop oder Forum in eine statische Seite eingebunden werden. Bei statischen Seiten muss zwangsläufig auf Dienste wie Formspree, Sendgrid, Disqus oder Shopify zurückgegriffen werden.

JAMstack Websites

JAMstack Websites verbinden die Vorteile von CMS Systemen (leicht zu verwalten und dynamische Inhalte) mit den Vorteilen von statischen Websites (skalierbar und schnell). Dynamische Inhalte werden über APIs und JavaScript ausgeliefert. Der Rest der Website ist statisch und vor gerendert, sodass die Seite schnell lädt. Durch den modularen Aufbau können einzelne Teile der Website skaliert oder auch ausgetauscht werden.

2. Vorteile von JAMstack Websites?

JAMstack hat viele Vorteile gegenüber dem traditionellen Webentwicklungsansatz, z.B. schnell, zuverlässig, skalierbar und in der Regel günstig.

  • Eine unbegrenzt skalierbare App mit weniger Ausfallzeiten, da jede Komponente einzeln skaliert werden kann.

  • Die Website wird schneller bereitgestellt, da sie hauptsächlich statische Dateien enthält.

  • Hersteller unabhängig, einzelne Komponenten können ausgetauscht werden, ohne gleich das ganze System zu wechseln.

  • Geringere Absprungrate durch höhere Geschwindigkeiten, gerade bei Mobilgeräten

  • Keine Abhängigkeit zu CMS Plugins

  • Bei statischen Seiten: Keine Datensicherung einer Datenbank notwendig. Datensicherung wird jedoch wieder ein Thema, wenn dynamische Komponenten wie ein Headless CMS selbst gehostet wird.

  • Günstigeres Hosting - Teilweise sogar kostenlos. Cloudflage Pages, Ionos, Netlify, GitLab. All diese Anbieter ermöglichen kostenloses Hosting von statischen Websites.

  • Sicherer: Die weniger beweglichen Teile innerhalb dieser App bedeuten weniger Angriffsflächen für schädliche Akteure.

3. Nachteile von JAMstack Websites

Von JAMstack profitieren am meisten diejenigen, die sich bereits mit Front- und Backend-Webentwicklung auskennen. Für Anfänger oder Entwickler, die sich nicht mit dem Aufbau von Websites auskennen, kann JAMstack eine Herausforderung darstellen. Wer Hilfe bei einer JAMstack Website sucht, muss aktuell recht lange suchen, da sich bisher nur wenige mit dieser Technologie auskennen. Wer hingegen für seine WordPress Website hilft, sucht, findet unzählige Angebote oder findet sogar Hilfe in seinem Bekanntenkreis.

Wenn Sie sich für das JAMstack entscheiden, müssen Sie einige verschiedene Tools und Dienste benutzen, um Ihr Ziel zu erreichen. Sie müssen auch darüber nachdenken, Ihr Frontend und Backend zu trennen, weil sie entkoppelt werden.

4. Für wen sind JAMstack Websites sinnvoll?

Eine JAMstack Website ergibt dann Sinn, wenn Sie eine schnelle und besonders skalierbare Website mit dynamischen Inhalten benötigen.

5. Wer sollte JAMstack Websites eher nicht verwenden?

JAMstack Websites sind nicht geeignet für Unternehmen, bei denen die Website eine geringere Rolle im Vertrieb spielt (Beispiel: Handwerker), sprich Ihr Euer Geld nicht über die Website verdient. Benötigen Sie lediglich eine Website, die Sie auch ohne Webentwickler selbst verwalten können, ist ein klassisches CMS System für Sie eventuell die bessere Wahl. Soll Ihre Website nur eine Art Online Visitenkarte sein, macht eine statische Website wahrscheinlich am meisten Sinn. Statische Websites können zu einem späteren Zeitpunkt noch immer in eine JAMstack Seite übernommen werden.

6. Abschließende Worte

Der JAMstack ist eine moderne, schnelle und unglaublich effiziente Architektur, die das Web im Sturm erobert hat. Es bietet eine Menge sofort einsatzbereiter Vorteile mit kleinen Nachteilen, sodass Sie das Weberlebnis für Sie und Ihre Besucher optimieren können. JAMstack Seiten eignen sich perfekt für all diejenigen, die eine schnell wachsende Besucherzahl erwarten oder flexibel auf Marktanforderungen reagieren müssen. Auch eignet es sich perfekt für kleine Unternehmen, dass Geld beim Hosting sparen möchten.

Wenn Sie Interesse an der Erstellung einer JAMstack-Website haben, schauen Sie sich hier mein JAMstack Dienstleistungs-Angebot an.