Die (bevorstehende) WordPress-Renaissance
Veröffentlicht: 2022-03-10Es ist 8 Monate her, seit Gutenberg als Standard-Inhaltseditor in WordPress eingeführt wurde. Je nachdem, wen Sie fragen, hören Sie vielleicht, dass Gutenberg das Schlimmste oder Beste ist, was WordPress passiert ist (oder irgendetwas dazwischen). Aber etwas, dem die meisten Menschen zuzustimmen scheinen, ist, dass Gutenberg sich stetig verbessert hat. Bei der derzeitigen Entwicklungsgeschwindigkeit ist es nur eine Frage der Zeit, bis die wichtigsten Probleme gelöst sind und die Benutzererfahrung wirklich angenehm wird.
Gutenberg ist ein fortlaufendes work in progress. Während ich es benutze, erlebe ich wahnsinnige Ärgernisse, wie schwebende Optionen, auf die ich nicht klicken kann, weil der darunter platzierte Block stattdessen ausgewählt wird, unintuitive Gruppierung von Blöcken, Spalten mit so vielen Lücken, dass sie unbrauchbar werden, und das „+“-Element fordert meine Aufmerksamkeit auf der ganzen Seite. Die Probleme, auf die ich stoße, sind jedoch immer noch relativ überschaubar (was eine Verbesserung gegenüber den vorherigen Versionen darstellt), und außerdem hat Gutenberg damit begonnen, seine potenziellen Vorteile Wirklichkeit werden zu lassen: Viele seiner dringendsten Fehler wurden ausgebügelt, seine Zugänglichkeitsprobleme sind es gelöst werden, und es werden ständig neue und aufregende Funktionen zur Verfügung gestellt. Was wir bisher haben, ist ziemlich anständig, und es wird nur besser und besser werden.
Lassen Sie uns die neuen Entwicklungen überprüfen, die seit der Einführung von Gutenberg stattgefunden haben, und wohin es geht.
Hinweis: Für weitere Informationen zu diesem Thema empfehle ich, den Vortrag von WordPress-Gründer Matt Mullenweg während des letzten WordCamp Europe 2019 anzusehen.
Warum Gutenberg gebraucht wurde
Gutenberg kam gerade rechtzeitig, um die Verjüngung von WordPress in Gang zu bringen, um zu versuchen, WordPress wieder attraktiv für Entwickler zu machen (und seinen derzeitigen Status als am meisten gefürchtete Plattform umzukehren). WordPress hatte aufgehört, attraktiv auszusehen, weil es sich darauf konzentrierte, die Abwärtskompatibilität nicht zu brechen, was WordPress daran hinderte, modernen Code zu integrieren, was es im Vergleich zu neueren, glänzenderen Frameworks blass aussehen ließ.
Viele Leute argumentieren, dass WordPress nicht Gefahr laufe zu sterben (immerhin betreibt es mehr als 1/3 des Webs), sodass Gutenberg nicht wirklich gebraucht wurde, und sie könnten Recht haben. Aber auch wenn WordPress nicht unmittelbar in Gefahr war, war es durch die Abkoppelung von modernen Entwicklungstrends auf dem Weg in die Veralterung, möglicherweise nicht kurzfristig, aber sicherlich mittel- bis langfristig. Sehen wir uns an, wie Gutenberg das Erlebnis für verschiedene WordPress-Stakeholder verbessert: Entwickler, Website-Administratoren und Website-Benutzer.
Entwickler haben sich in letzter Zeit dazu entschlossen, Websites mit den JavaScript-Bibliotheken Vue und React zu erstellen (unter anderem wegen der Leistungsfähigkeit und Bequemlichkeit der Komponenten), was sich in einer zufriedenstellenden Entwicklererfahrung niederschlägt. Indem Gutenberg auf den fahrenden Zug aufspringt und diese Technik anwendet, ermöglicht es WordPress, Entwickler erneut anzuziehen und ihnen zu ermöglichen, auf eine Weise zu programmieren, die sie befriedigend finden.
Website-Administratoren können ihre Inhalte einfacher verwalten, ihre Produktivität steigern und Dinge erreichen, die vorher nicht möglich waren. Zum Beispiel ist das Platzieren eines Youtube-Videos durch einen Block einfacher als durch den TinyMCE-Textbereich, Blöcke können optimale Bilder liefern (komprimiert, je nach Gerät in der Größe angepasst, in ein anderes Format konvertiert usw.), wodurch die Notwendigkeit entfällt, dies manuell zu tun. und die WYSIWYG-Fähigkeiten ( What You u S ee I s What You Get ) sind anständig genug, um eine Echtzeit-Vorschau zu liefern, wie der Inhalt auf der Website aussehen wird.
Indem wir ihnen Zugriff auf leistungsstarke Funktionen gewähren, werden Website-Benutzer beim Surfen auf unseren Websites eine höhere Zufriedenheit haben, als wenn sie hochdynamische, benutzerfreundliche Webanwendungen wie Facebook oder Twitter verwenden.
Darüber hinaus modernisiert Gutenberg langsam aber sicher den gesamten Prozess der Erstellung der Website. Während es derzeit nur als Inhaltseditor verwendet werden kann, wird es einige Zeit in der Zukunft zu einem vollwertigen Website-Builder werden, der es ermöglicht, Komponenten (sogenannte Blöcke) überall auf einer Seite zu platzieren, einschließlich Kopfzeile, Fußzeile, Seitenleiste usw. (Automattic, das Unternehmen hinter WordPress.com, hat bereits mit der Arbeit an einem Plugin begonnen, das seiner kommerziellen Website vollständige Website-Bearbeitungsfunktionen hinzufügt, von denen aus es für die Open-Source-WordPress-Software angepasst werden könnte.) Durch die Website-Erstellungsfunktion, nicht -Technische Benutzer können sehr einfach sehr leistungsstarke Funktionen zu ihren Websites hinzufügen, sodass WordPress weiterhin die größere Gemeinschaft von Menschen willkommen heißt, die im Web arbeiten (und nicht nur Entwickler).
Schnelles Entwicklungstempo
Einer der Gründe, warum Gutenberg ein so schnelles Entwicklungstempo erlebt hat, ist, dass es auf GitHub gehostet wird, was die Verwaltung von Code, Problemen und Kommunikation im Vergleich zu Trac (das den WordPress-Kern verwaltet) vereinfacht und es für den Anfang einfach macht - Zeit für Mitwirkende, sich zu engagieren, da sie möglicherweise bereits Erfahrung in der Arbeit mit Git haben.
Da Gutenberg vom WordPress-Kern entkoppelt ist, kann es von einer schnellen Iteration profitieren. Auch wenn etwa alle 3 Monate eine neue Version von WordPress veröffentlicht wird, ist Gutenberg auch als eigenständiges Plugin erhältlich, das alle zwei Wochen neu veröffentlicht wird (während die neueste Version von WordPress Gutenberg Version 5.5 enthält, ist die neueste Plugin-Version 6.2 ). Der Zugriff auf leistungsstarke neue Funktionen für unsere Websites alle zwei Wochen ist in der Tat sehr beeindruckend und ermöglicht es, weitere Funktionen aus dem breiteren Ökosystem freizuschalten (zum Beispiel erfordert das AMP-Plug-in Gutenberg 5.8+ für mehrere Funktionen).
Headless WordPress für mehrere Stacks
Einer der Nebeneffekte von Gutenberg ist, dass WordPress zunehmend „headless“ geworden ist, wodurch das Rendering der Anwendung weiter von der Verwaltung der Inhalte entkoppelt wird. Denn Gutenberg ist ein Frontend-Client, der über APIs (die WP-REST-API) mit dem WordPress-Backend interagiert, und die Entwicklung von Gutenberg hat eine konsequente Erweiterung der verfügbaren APIs gefordert. Diese APIs sind nicht auf Gutenberg beschränkt; Sie können zusammen mit jedem clientseitigen Framework verwendet werden, um die Site mit einem beliebigen Stack zu rendern.
Ein Beispiel für einen Stack, den wir für unsere WordPress-Anwendung nutzen können, ist der JAMstack, der sich für eine Architektur einsetzt, die auf statischen Websites basiert, die durch Dienste von Drittanbietern (APIs) erweitert werden, um dynamisch zu werden (tatsächlich ist Smashing Magazine eine JAMstack-Site!). Auf diese Weise können wir unsere Inhalte in WordPress hosten (und es als Content-Management-System nutzen, was es wirklich gut kann), eine Anwendung erstellen, die über APIs auf die Inhalte zugreift, eine statische Website generieren und sie auf einem Inhalt bereitstellen Delivery Network, das für niedrigere Kosten und eine höhere Zugriffsgeschwindigkeit sorgt.
Neue Funktionalität
Lassen Sie uns mit Gutenberg spielen (das Plugin, nicht das im WordPress-Kern enthaltene, das hier verfügbar ist) und sehen, welche Funktionalität in den letzten Monaten hinzugefügt wurde.
Block-Manager
Über den Blockmanager können wir entscheiden, welche Blöcke im Inhaltseditor verfügbar sein werden; alle anderen werden deaktiviert. Das Entfernen des Zugriffs auf unerwünschte Blöcke kann in mehreren Situationen nützlich sein, z. B.:
- Viele Plugins sind Bündel von Blöcken; Wenn Sie ein solches Plugin installieren, werden alle seine Blöcke zum Inhaltseditor hinzugefügt, auch wenn wir nur einen benötigen
- Bis zu 40 Einbettungsanbieter sind im WordPress-Kern implementiert, aber wir benötigen möglicherweise nur wenige davon für die Anwendung, wie Vimeo und Youtube
- Eine große Menge verfügbarer Blöcke kann uns überfordern und unseren Arbeitsablauf beeinträchtigen, indem zusätzliche Ebenen hinzugefügt werden, die der Benutzer zum Navigieren benötigt, was zu einer suboptimalen Nutzung der Zeit führt; Daher kann uns das vorübergehende Deaktivieren nicht benötigter Blöcke helfen, effektiver zu sein
- In ähnlicher Weise vermeidet das Vorhandensein nur der Blöcke, die wir benötigen, potenzielle Fehler, die durch die Verwendung der falschen Blöcke verursacht werden; Insbesondere kann die Feststellung, welche Blöcke benötigt werden, von oben nach unten erfolgen, wobei der Website-Administrator alle verfügbaren Blöcke analysiert und entscheidet, welche verwendet werden sollen, und die Entscheidung den Content-Managern auferlegt, die dann von dieser Aufgabe entlastet werden können sich auf ihre eigenen Aufgaben konzentrieren.
Abdeckblock mit Verschachtelungselementen
Der Cover-Block (mit dem wir einen Titel über einem Hintergrundbild hinzufügen können, was im Allgemeinen zum Erstellen von Hero-Headern nützlich ist) definiert jetzt seine inneren Elemente (dh die Überschrift und Schaltflächen, die zum Erstellen eines Aufrufs zum Handeln hinzugefügt werden können) als verschachtelte Elemente. So können wir seine Eigenschaften blockübergreifend einheitlich ändern (z. B. können wir die Überschrift fett formatieren und einen Link hinzufügen, eine oder mehrere Schaltflächen platzieren und ihre Hintergrundfarbe ändern und andere).
Gruppierung und Verschachtelung blockieren
Bitte beachten Sie: Diese Funktionen sind noch fehlerhaft! Allerdings wird ihnen viel Zeit und Energie gewidmet, sodass wir davon ausgehen können, dass sie bald reibungslos funktionieren werden.
Die Blockgruppierung ermöglicht es, mehrere Blöcke zusammen zu gruppieren, sodass sie alle zusammen verschoben werden, wenn sie auf der Seite nach oben oder unten verschoben werden. Blockverschachtelung bedeutet, einen Block innerhalb eines Blocks zu platzieren, und es gibt keine Begrenzung für die Verschachtelungstiefe, sodass wir Blöcke innerhalb von Blöcken innerhalb von Blöcken innerhalb von … haben können (Sie haben mich jetzt verstanden). Die Blockverschachtelung ist besonders nützlich, um Spalten im Layout über einen Spaltenblock hinzuzufügen, und dann kann jede Spalte jede Art von Block enthalten, z. B. Bilder, Text, Videos usw.
Migration bereits vorhandener Widgets
Während es in der Vergangenheit mehrere Methoden zum Hinzufügen von Inhalten auf der Seite gab (TinyMCE-Inhalte, Shortcodes, Widgets, Menüs usw.), versuchen die Blöcke, alle in einer einzigen Methode zu vereinen. Derzeit wird neu in Betracht gezogener Legacy-Code, wie z. B. Widgets, in das Blockformat migriert.
Kürzlich wurde das Widget „Neueste Beiträge“ als Block neu implementiert, der eine Echtzeitvorschau des Aussehens des Layouts unterstützt, wenn es konfiguriert wird (Ändern der Anzahl der anzuzeigenden Wörter, Anzeigen eines Auszugs oder des vollständigen Beitrags, Anzeigen des Datums oder nicht usw.).
Bewegungsanimation
Das Verschieben von Blöcken nach oben oder unten auf der Seite war früher mit einem abrupten Übergang verbunden, was es manchmal schwierig machte, zu verstehen, wie Blöcke neu geordnet wurden. Seit Gutenberg 6.1 löst eine neue Funktion der Bewegungsanimation dieses Problem, indem sie eine realistische Bewegung zu Blockänderungen hinzufügt, z. B. beim Erstellen, Entfernen oder Neuordnen eines Blocks, wodurch ein stark verbesserter visueller Hinweis auf die Aktionen zum Neuordnen von Blöcken gegeben wird. Darüber hinaus kann das Gesamtkonzept der Bewegungsanimation in ganz Gutenberg angewendet werden, um Veränderungen auszudrücken und so das Benutzererlebnis zu verbessern und eine bessere Unterstützung der Zugänglichkeit zu bieten.
Funktionalität (hoffentlich) bald verfügbar
Laut WordPress-Gründer Matt Mullenweg sind bisher erst 10 % von Gutenbergs kompletter Roadmap implementiert, also gibt es jede Menge aufregende neue Sachen für uns. Die Arbeit an den unten aufgeführten neuen Funktionen hat entweder bereits begonnen oder das Team experimentiert derzeit damit.
- Verzeichnis sperren
Ein neues Top-Level-Element in wp-admin, das die Blockerkennung ermöglicht. Auf diese Weise können Blöcke unabhängig installiert werden, ohne sie über ein Plugin versenden zu müssen. - Navigationsblöcke
Derzeit müssen Navigationsmenüs über ihre eigene Schnittstelle erstellt werden. Bald werden wir diese jedoch durch Blöcke erstellen und an beliebiger Stelle auf der Seite platzieren können. - Inline-Installation von Blöcken
In der Lage zu sein, Blöcke zu entdecken, ist der nächste logische Schritt, einen neuen Block on-the-fly dort installieren zu können, wo er am meisten benötigt wird: im Post-Editor. Wir können einen Block installieren, während wir einen Beitrag schreiben, den neuen Block verwenden, um seinen HTML-Code zu generieren, seine Ausgabe im Beitrag speichern und den Block entfernen, ohne jemals zu einer anderen Admin-Seite zu navigieren. - Beim Ändern der Bildgröße am Raster ausrichten
Wenn wir mehrere Bilder auf unserem Beitrag platzieren, kann sich das Ändern der Größe auf dieselbe Breite oder Höhe als schmerzhafter Prozess des wiederholten Versuchens und Scheiterns erweisen, bis es richtig ist, was alles andere als ideal ist. Bald wird es möglich sein, das Bild an einer virtuellen Gitterebene auszurichten, die im Hintergrund erscheint, wenn die Größe des Bildes geändert wird.
WordPress wird (wieder einmal) attraktiv
Mehrere Gründe sprechen dafür, dass WordPress bald eine attraktive Plattform zum Programmieren werden wird, wie es früher einmal war. Sehen wir uns ein paar davon an.
PHP-Modernisierung
Das Streben nach Modernisierung von WordPress endet nicht mit der Integration moderner JavaScript-Bibliotheken und -Werkzeuge (React, Webpack, Babel): Es erstreckt sich auch auf die serverseitige Sprache: PHP. Die Mindestversion von PHP von WordPress wurde kürzlich auf 5.6 angehoben und sollte bereits im Dezember 2019 auf Version 7.0 angehoben werden. PHP 7 bietet bemerkenswerte Vorteile gegenüber PHP 5, vor allem wird seine Geschwindigkeit mehr als verdoppelt, und spätere Versionen von PHP (7.1 , 7.2 und 7.3) sind jeweils noch schneller geworden.
Auch wenn es anscheinend keine offiziellen Pläne für ein weiteres Upgrade von PHP 7.0 auf spätere Versionen gibt, ist es einfacher, es am Laufen zu halten, sobald der Schwung da ist. Und PHP selbst wird auch unermüdlich verbessert. Das kommende PHP 7.4, das im November 2019 veröffentlicht werden soll, wird zahlreiche neue Verbesserungen enthalten, darunter Pfeilfunktionen und den Spread-Operator innerhalb von Arrays (wie er für modernes JavaScript verwendet wird) sowie einen Mechanismus zum Vorabladen von Bibliotheken und Frameworks in den OPCache, um dies weiter zu verbessern steigern Sie die Leistung, neben mehreren anderen aufregenden Funktionen.
Wiederverwendbarkeit von Code über Plattformen hinweg
Ein toller Nebeneffekt der Entkopplung von Gutenberg von WordPress ist, dass es auch in andere Frameworks integriert werden kann. Und genau das ist passiert! Gutenberg ist jetzt für Drupal verfügbar, und Laraberg (für Laravel) wird bald offiziell veröffentlicht (derzeit wird der Release Candidate getestet). Das Schöne an diesem Phänomen ist, dass all diese verschiedenen Frameworks durch Gutenberg jetzt Code teilen/wiederverwenden können!
Fazit
Es gab noch nie einen besseren Zeitpunkt, um Webentwickler zu werden. Das Entwicklungstempo für alle betroffenen Sprachen und Technologien (JavaScript, CSS, Bildoptimierung, variable Schriftarten, Cloud-Dienste usw.) ist atemberaubend. Bis vor kurzem betrachtete WordPress diesen Entwicklungstrend von außen, und Entwickler hatten möglicherweise das Gefühl, den Modernisierungszug zu verpassen. Aber jetzt, durch Gutenberg, fährt auch WordPress mit dem Zug und hält mit seiner Geschichte Schritt, das Web in eine positive Richtung zu lenken.
Gutenberg ist möglicherweise noch nicht voll funktionsfähig, da es viele Probleme zu lösen gibt, und es kann noch einige Zeit dauern, bis es wirklich hält, was es verspricht. Bisher sieht es jedoch gut aus, und es sieht mit jedem neuen Release besser und besser aus: Gutenberg bringt stetig neue Möglichkeiten in WordPress. Daher ist dies ein guter Zeitpunkt, um es noch einmal zu überdenken, Gutenberg auszuprobieren (wenn Sie es noch nicht getan haben). Jeder, der irgendwie mit WordPress zu tun hat (Website-Admins, Entwickler, Content-Manager, Website-Benutzer), kann von dieser neuen Normalität profitieren. Ich würde sagen, das ist etwas, worüber man sich freuen kann, nicht wahr?