JAMstack

Eine neuartige Webanwendungs-Architektur

22.05.19 - Dev Day Dresden

Über mich*

Alexander Lichter

Nuxt.js Core Team Member

@TheAlexLichter

*erstmal über euch

JAMstack

J

A

M

avascript

PIs

arkup

  • Statisch, wird nicht mehr vom Server geändert

  • Wird vor jedem (Re-)deploy neu generiert

  • Typischerweise mithilfe eines Static Site Generator (SSG)

Markup

  • Verantwortlich für die dynamischen Komponenten

  • Nur client-seitig

  • Framework-/Libraryunabhängig

Javascript

  • Interaktionen mit der Seite werden über APIs gehandhabt

  • Werden via JavaScript und HTTPs aufgerufen

  • Oftmals Microservices, Serverless Functions oder ähnliches

APIs

TL;DR

Erstelle deine Website

via SSG

Uploade deinen Code

via Git

Lass den SSG deine Seite bauen

Deploy der statischen Files via CDN o.Ä.

Fertig!

Aber warum JAMstack?

Performance

Simplicity

Security

Cost

Simplicity

  • Nur statische HTML-Dateien, kein .php / .py / ...
  • Man braucht keinen Server*
  • Keine komplizierten Deploy-Pipelines mehr

*hosting via. GitHub pages oder Netlify

Security

  • Keine dynamisch generierten Inhalte
  • Isolierte, kleine APIs
  • Idealerweise: "Content API" nur zur build time verfügbar

Performance

  • Bessere Time to first Byte durch CDN
  • Einfache Cache Invalidation
  • Schnellere Antwortzeit da statisches HTML
  • Optimal für SEO

Cost

  • Keine Servergebühren
  • Kostenloses Hosting (via Netlify oder GH Pages)
  • Serverless APIs werden nutzungbasiert abgerechnet

Wann sollte man nicht JAMStack nutzen?

Schnellebige dynamische Daten

Dann lieber SSR (z.B. mit Nuxt)

Meine Reise: Von SSR zu JAMstack

Leseempfehlungen

Nuxt.js - An Introduction - Slides von meinem Nuxt Intro

JAMstack.org - Um mehr über JAMStack zu lernen

Made with Slides.com