Gutenberg

Avatar of Chris Coyier
Chris Coyier am

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

Ich habe mich gerade erst über Gutenberg informiert, den Namen für eine Überarbeitung des WordPress-Editors. Du kannst ihn jetzt schon nutzen, da er zunächst als Plugin entwickelt wird, mit der Idee, dass er schließlich in den Core integriert wird. Das Repo bietet bessere Informationen.

Meiner Meinung nach ist dies die größte Änderung am WordPress-Editor in der Geschichte von WordPress. Das scheint hier besonders relevant zu sein, da wir gerade über Content-Blöcke gesprochen haben und wie verschiedene CMS damit umgehen. Genau das ist Gutenberg: ein Content-Block-Editor.

Anstatt dass der Inhaltsbereich eine aufgehübschte Textarea ist (vielleicht eine der berechtigtsten Kritiken an WordPress), wird der Inhaltsbereich zu einem Container für alle verschiedenen „Blöcke“, die du dort einfügen möchtest. Blöcke sind Dinge wie Überschriften, Text, Listen und Bilder. Sie sind auch aufwendiger wie Galerien und Embeds. Entscheidend ist, dass Blöcke erweiterbar sind und wirklich alles sein können. Ähnlich wie ein [Shortcode], stelle ich mir vor.

Einige Bilder aus Brian Jacksons Diving Into the New Gutenberg WordPress Editor helfen, das zu verdeutlichen.

Wie bei jeder großen Softwareänderung ist sie umstritten (sogar polarisiert). Ich erhielt eine E-Mail von jemandem, der mich davor warnte.

Der Konsens ist, dass dieses UI-Upgrade WP entweder in die Zukunft katapultieren oder Millionen von WP-Websitebesitzern verärgern und WordPress töten könnte.

Ich neige dazu zu denken, dass WordPress 2-BIG-2-DIE ist, also wahrscheinlich Ersteres.

Ich denke auch, dass das Zusammenfügen von Blocktypen eine generische und intelligente Abstraktion für ein CMS ist. Gutenberg scheint es auf gesunde Weise zu handhaben. Die Blöcke werden einfach in speziell formatiertem <!– wp:core/text –> <!– /wp:core/text –> eingeschlossen, um einen Block zu kennzeichnen, sodass der Inhalt hochgradig kompatibel ist. Eine WordPress-Website ohne Gutenberg wird keine Probleme damit haben, noch sie woandershin zu portieren.

Außerdem wird der Inhalt in Templates weiterhin als ein großer Brocken behandelt.

Um sicherzustellen, dass eine Schlüsselkomponente der Stärke von WordPress erhalten bleibt, sollte die Quelle der Wahrheit für den Inhalt in post_content verbleiben, wo der Großteil der Postdaten auf eine zugängliche und portable Weise vorhanden sein muss.

Unabhängig davon, wie du es im Editor strukturierst, wird es als ein Brocken in der Datenbank gespeichert und mit einem Befehl in Templates ausgegeben. Das macht es vielleicht *weniger* flexibel, als du es dir aus Templating-Sicht wünschen würdest, schränkt aber diese Änderung auf ein erträgliches Maß ein und bleibt sehr WordPress-artig.

Es scheint, dass ein Großteil der Kontroverse entweder aus „Wer hat meinen Käse verschoben“-Sentiments oder aus dem resultiert, was es im Moment unterstützt und was nicht. Ich halte beides nicht viel, da die Leute den Käse ziemlich schnell finden und dies noch unter einer anscheinend intensiven aktiven Entwicklung steht.

Eine große Sorge ist die Unterstützung von benutzerdefinierten Meta-Boxen. Joost de Valk

Fakt ist, dass, wenn du Gutenberg jetzt testest, du sehen wirst, dass Yoast SEO nirgends auf der Seite ist. Ebenso wenig wie all die anderen Plugins, die du vielleicht nutzt, wie Advanced Custom Fields oder CMB2. All diese Plugins verwenden sogenannte Meta-Boxen, die Boxen unter und neben dem aktuellen Editor.

Die Tatsache, dass das Gutenberg-Team Meta-Boxen in Erwägung zieht, ist unserer Meinung nach ein großer Fehler. Das würde bedeuten, dass viele, viele Plugins ab dem Zeitpunkt, an dem Gutenberg herauskommt, nicht mehr funktionieren würden. Unzählige benutzerdefinierte Integrationen würden aufhören zu funktionieren. Hunderte von Tausenden von Entwicklungsstunden müssten zumindest teilweise neu gemacht werden. Und das alles, während der aktuelle Editor für die meisten Websites perfekt funktioniert.

Das klingt tatsächlich nach einer großen Sache. Ich frage mich, wie einfach es sein wird, sich schrittweise in Gutenberg einzuarbeiten. Zum Beispiel, es für Standardbeiträge und Seiten zu aktivieren und es für benutzerdefinierte Beitragstypen auszuschalten, bei denen du eher benutzerdefinierte Meta-Boxen benötigst (oder eine Kombination davon).

Auf dieser Seite nutze ich benutzerdefinierte Meta-Boxen (sogar einfache klassische benutzerdefinierte Felder) sowie mein eigenes HTML im Editor, sodass Gutenberg nichts ist, auf das ich schnell umsteigen kann. Das lässt mich fragen, ob es immer einen „klassischen“ Editor geben wird oder ob der neue Editor zu einem bestimmten Zeitpunkt obligatorisch sein wird.

Noch mehr Kontroversen gab es wegen der React-Lizenzierung. Das lief im Wesentlichen so:

  1. Matt Mullenweg: Wir werden von React weggehen (das Gutenberg verwendet), wegen der Lizenzierung.
  2. React: Ihr habt alle Unrecht, aber wir geben auf. Es ist jetzt MIT.
  3. Matt Mullenweg: Das ist gut, aber jetzt geht es darum, den Leuten zu erlauben, jede neue JavaScript-Bibliothek zu verwenden, die sie wollen.

Ich habe noch nie von „framework-agnostischem“ Block-Rendering gehört, aber anscheinend ist das eine Sache. Oder vielleicht auch nicht? Omar Reiss

Mit dem neuen Gutenberg-Editor ändern wir die Art und Weise, wie das WordPress-Admin-Interface aufgebaut wird. Wo wir bisher die Benutzeroberfläche mit PHP rendern, werden wir mehr und mehr serverseitig mit JavaScript rendern. Nach dem Editor wird dies wahrscheinlich für den Großteil des Admin-Bereichs gelten. Das bedeutet, dass du, wenn du dich in die Admin-Oberfläche integrieren möchtest, dich mit dem JavaScript integrieren musst, das die Oberfläche rendert. Wenn WordPress Vue wählt, musst du WordPress Vue-Komponenten zum Rendern liefern. Wenn WordPress React wählt, musst du WordPress React-Komponenten zum Rendern liefern. Diese Dinge passen nicht zusammen. React rendert keine Vue-Komponenten und umgekehrt. Es gibt keine Bibliothek, die beides kann. Wenn WordPress ein bestimmtes Framework verwendet, muss jeder dieses Framework verwenden, um integrieren zu können.

Das ist eine knifflige Situation. Vor der Änderung der React-Lizenz habe ich um einen Nickel gewettet, dass sie Vue nehmen würden. Danach vermute ich, dass sie bei React bleiben werden. Ihr eigenes Calypso ist komplett in React geschrieben, zusätzlich zu dem, was es bereits für Gutenberg gibt, also scheint es ein Kontinuitätsbonus zu sein.

Das wird eine spannende Tech-Geschichte zum Verfolgen! Seiten wie Post Status werden sie wahrscheinlich genauer verfolgen, als ich es kann.