Weaved Webs

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Es gibt eine gewisse Ironie bei Jamstack.

Das Konzept ist einfach: Sie legen vorgerenderte, statische Dateien auf einen Webhosting-Dienst (ein CDN), der dafür gut ausgelegt ist. Das war's. Wenn Sie mehr tun müssen, geschieht alles weitere mit clientseitigem JavaScript, das wahrscheinlich mit serverlosen Funktionen spricht, da dies der spirituelle Partner von Jamstack im Backend ist. Ich habe Guillermo Rauch neulich auf der Smashing Conf sagen hören, dass es keine exakte "Stack" ist, da es fast vollständig nicht vorschreibend ist, was Sie tun. Während ich das Wort Jamstack mag, fühlt sich das auch fair an.

Die Ironie ist, dass, während das Konzept einfach ist, diese Einfachheit die Ursache für Komplexität sein kann.

Netlify, das Unternehmen, das größtenteils hinter Jamstack steckt, weiß das. Sie wissen, dass ohne einen Backend-Server mit Backend-Sprachen etwas wie ein einfaches Kontaktformular kompliziert wird. Anstatt im Bereich unkomplizierter, gelöster Probleme zu sein, müssen wir einen anderen Weg finden, dieses Formular zu verarbeiten. Also lösen sie dieses Problem für Sie (neben anderen, wie Authentifizierung und serverlose Funktionen). Aber es gibt unzählige andere Unternehmen, die dieses Zahnrad in Ihrer Maschine sein wollen.

Das ist nur eine mögliche Komplikation. Was verwenden Sie für ein CMS oder anderen Datenspeicher? Wie sieht Ihr Build-Prozess aus? Wie sehen Sie Vorschauen von Inhaltsänderungen? Wie machen Sie die Authentifizierung? Was ist, wenn Sie ein schickes Kalender-Widget benötigen? Was ist, wenn Sie etwas verkaufen möchten? Alles, was eine Website tun kann, für Jamstack gibt es eine Antwort – es ist nur so, dass die Kombination all dieser Antworten sich zerstückelt und potenziell verwirrend anfühlen kann.

Dave hat sich kürzlich damit beschäftigt Eleventy + Tailwind + Netlify CMS (was Jamstack-mäßig ist) und sagte, es fühlte sich an wie das Hüten von Rindern

Meine kleine Mischung, die nur aus 3 Technologien bestehen sollte, setzte mich ~20 verschiedenen Technologien aus und ließ mich nach Mitternacht in den Quellcode von Abhängigkeiten der n-ten Ebene eintauchen. Wenn es eine Allegorie für das gibt, was ich an der modernen Webentwicklung nicht mag, dann ist es diese. Sie wollen drei Werkzeuge verwenden, aber Sie müssen stattdessen zwanzig Werkzeuge bedienen können. Wenn Module und Komponenten wie LEGO sind, dann ist das, als würde man die gesamte Kiste auf den Boden kippen, nur um ein winziges Teil zu finden, das man braucht.

„Die verwobenen Netze, die wir weben“, in der Tat.

In einem Gespräch zwischen Richard MacManus und Matt Mullenweg¹ zitiert Richard Matt

Sie können ein Dutzend Dienste, jeder mit seinem eigenen Konto und seiner eigenen Abrechnung, für Hunderte von Dollar pro Monat zusammenfügen, um ein ähnliches Ergebnis zu erzielen, das Sie für ein paar Dollar pro Monat mit WordPress auf Shared Hosting erzielen würden", sagte er. "Und es wäre zerbrechlicher, weil die Kette nur so stark ist wie ihr schwächstes Glied. Sie verketten verschiedene Toolsets, Logins, Abrechnungen, Hosting… jeder Teil davon, der ausfällt, kann den gesamten Ablauf zum Erliegen bringen.

Wenn ich Jamstack für ein bestimmtes Projekt in Betracht ziehen würde und die Gesamtsumme wirklich zwölf Dienste wären, würde ich wahrscheinlich überdenken, insbesondere wenn ich ein Werkzeug wie WordPress greifen und es auf eins reduzieren könnte. Es gibt viele andere faire Kritikpunkte an Jamstack, insbesondere da es sich noch in der Anfangsphase befindet. Die Geschichte von "CMS mit Vorschau" ist zum Beispiel nicht besonders gut, was eine Funktion ist, über die man bei WordPress gar nicht nachdenkt, weil es das offensichtlich hat.

Und Jamstack kann einige Dinge tun, die sehr fortschrittlich sind und die ich schätze. Git-basierte Bereitstellung? Alle Websites sollten das haben. Vorschauen meiner Pull-Requests? Verdammt gut. Erste Anfragen unter -100 Millisekunden? Ja, bitte. Kein Ärger mehr mit dem Cache? Super. Holt auf, andere Stacks.

Ich sage, es gibt hier "Goldlöckchen"-Entscheidungen zu treffen. Sie treffen sie, indem Sie tun, was Sie wahrscheinlich ohnehin schon tun: Ihre Erwachsenenhosen anziehen, darüber nachdenken, was Ihr Projekt braucht, und die beste Option wählen.

Ich habe produktive WordPress-Websites. Wie diese hier! Es ist großartig!

Ich habe produktive Jamstack-Websites. Wie diese hier! Es ist kein kompliziertes Netz von Diensten. Es ist ein statischer Website-Generator mit Inhalten im GitHub-Repository, bereitgestellt mit Netlify. Während CSS-Tricks etwa 100 Dinge tun kann, die diese Seite nicht kann, hat sie einige Tricks auf Lager, die CSS-Tricks nicht kann, wie z. B. das Akzeptieren von Pull-Requests für Inhalte.

Ich habe das Gefühl, dass ich in allen meinen Fällen ziemlich gut gewählt habe.

  1. Während Matt eindeutig Anreize hat, den WordPress-Ansatz zu verteidigen, habe ich das Gefühl, dass die hier geäußerten Meinungen aufrichtig sind; teilweise, weil Automattic in alternative Stack-Ansätze investiert, und weil WordPress und Jamstack nicht gegenseitig ausschließend sind. Ich habe Antworten darauf genossen, wie Ohad Eder-Pressmans offener Brief, der ebenfalls voller auf Anreize basierender, aber aufrichtiger Gedanken ist.