WordPress ohne PHP? Ein Experiment mit Node, Express und React
WordPress ohne PHP: Das Experiment
Zugegebenermaßen arbeitet fast jedes halbwegs erfolgreiches CMS mit PHP. Egal ob für die Erstellung von Views oder die Abfrage einer Datenbank: PHP gilt als solide und verfügt über den besten Hosting-Support. Trotzdem sollten wir uns auch nicht gegen neue Ideen und Möglichkeiten sperren.
JavaScript als serverseitige Programmiersprache zu benutzen, ist seit Node kein größeres Problem mehr. Im Zusammenhang mit dem Framework Express bietet es umfangreiche Funktionen, um eine Web-Applikation zu publizieren. Das Experiment WordExpress setzt genau auf diese Technik. Die serverseitige Programmiersprache PHP wird durch JavaScript ersetzt und arbeitet auf einem NodeJS-Server.
Verknüpfung und Ausgabe der Daten werden wiederum nicht durch PHP-Templates erzeugt, sondern durch das Frontend-Framework React generiert. Die Zusammenarbeit zwischen einem reinen Frontend-Framework und NodeJS könnte dabei nicht einfacher sein: Beide Seiten profitieren von der agilen und skalierbaren Architektur und können sich on the Fly austauschen. Das ganze CMS erhält dadurch eine gewisse Leichtigkeit – Page-Reloads und Timeouts gehören der Vergangenheit an.
WordExpress soll nur ein Experiment sein
Natürlich müssen die Daten trotzdem aus einer Datenbank kommen. Hier setzt WordExpress auf GraphQL als Schnittstelle für die Kommunikation zwischen NodeJS/React und der alten MySQL-Datenbank. Denn: Alle Daten liegen weiterhin in der typischen MySQL-Datenbank. Das hat den Vorteil, dass wir einfach eine bestehende Datenbank an unser System anbinden können und keine separate Datenbank-Struktur erstellen müssen. Alle Queries werden einfach an GraphQL weitergeleitet, das die Anfrage in MySQL umwandelt (Mit dieser Sandbox könnt ihr GraphQL unkompliziert ausprobieren).
Bei einem echten Produktivsystem wäre es später sicher ratsam, eine passende Datenbank-Technik einzusetzen. Da WordExpress aber nur ein Experiment sein soll und nicht für den Produktiveinsatz gedacht ist, reicht eine kleine Schnittstelle zur alten MySQL-Datenbank. Wer noch mehr erfahren will, kann sich die Dokumentation anschauen oder auf GitHub direkt in das Projekt einsteigen.
WordPress ohne PHP: Das Fazit
WordPress aus reinem JavaScript hört sich verrückt an. Doch wie uns WordExpress gezeigt hat, ist es mit aktueller Technik überhaupt kein Problem mehr, das umzusetzen. Ob das Ganze auch praxisorientiert ist und welche Nachteile es mit sich bringt, können wir gut mit einem solchen Experiment testen. Offiziell gibt es von WordPress übrigens schon eine Node-Desktop-App, die mit dem GitHub-Framework Electron erstellt wurde. Daher besteht grundsätzlich sicher Interesse, ein solches Projekt weiter auszubauen.
Wie sich das Projekt entwickelt und ob es offiziell von WordPress eine reine JavaScript/Node-Version geben wird, wird die Zeit zeigen. Was feststeht: Node und Frontend-Frameworks werden immer interessanter und können aktuell ein starkes Wachstum verzeichnen.
Könnt ihr euch eine reine JavaScript-WordPress-Version vorstellen – oder wollt ihr doch lieber bei PHP bleiben?
Das Hauptproblem, bei dem man vor der Nutzung steht, ist, dass es bisher kaum Webhoster gibt, welche einen Webspace mit Node.js und SSH-Zugang anbieten. Alternativen wie Uberspace sind vielen Nutzern nicht bekannt, sodass sie denken, dass sie auf einen eigenen (V-)Server angewiesen sind, was verständlicher Weise die meisten scheuen dürften und sei es schon auf Grund des Preisunterschieds. Daher werden wohl die meisten bei dem PHP-betriebenen WordPress bleiben.
Uberspace kannst du nur nutzen, wenn du politisch auf der linken Linie bist. Die falsche Meinung zu äußern ist dort ein Verstoß gegen die Nutzungsbedingungen.
Und was daran ist WordPress?
Hallo Patrick, der Code hat sich natürlich stark verändert, bedingt durch den Austausch der Programmiersprache. Trotzdem ist das Ziel und die Idee hinter WordExpress identisch mit WordPress.
Ist WordPress für Dich ein Synonym für CMS? Oder was meinst Du mit Idee?
Da geb ich dem Patrick recht. Das ganze hat mit WordPress nichts zu tun und ist ziemlich lächerlich.
Bereits im Text steht mehrfach, dass auf die „alte MySQL-Datenbank“ zugegriffen wird. Auf der WordExpress-Seite steht es noch einmal etwas deutlicher:
„… with a GraphQL server hooked up to a MYSQL WordPress database that uses Relay to fetch data and pipe it into React components. Don’t worry, I’ll still be using the tried and true WordPress admin interface.“
Ich freu mich immer wieder riesig, wenn ein Artikel von Jonathan Schneider hier erscheint. Seine Themen sind jedesmal unglaublich spannend! Danke, danke, danke!
Danke für die Blumen!
WordPress hat die Internetwelt so heftig zu gemüllt, dass es die Welt nicht wirklich besser macht, wenn man es mit Javascript versucht. Wer keine Lust auf PHP hat, kennt sicherlich Ghost und nutzt das als bessere WordPress Alternative. Wer dann noch Ghost Webhoster oder ähnliches sucht, findet auch einige Hoster.