CMSstash

Kapitel 4

CMS mit JavaScript und NodeJS

Content Management Systeme (CMS) wie Ghost CMS oder KeystoneJS, die vollständig auf der Programmiersprache JavaScript basieren, waren zu ihrer Entstehungszeit eine absolute Neuheit. Ermöglicht wurden solche Systeme durch NodeJS, einer Plattform bzw. Runtime-Umgebung zur Ausführung von JavaScript außerhalb von Browsern. Landläufig wird NodeJS auch als serverseitiges JavaScript bezeichnet, da sich mit NodeJS insbesondere Webserver realisieren lassen. Der Entwickler John Dahl hatte das Konzept des serverseitigen JavaScripts zwar nicht erfunden, mit NodeJS jedoch ab dem Jahr 2009 populär gemacht, sodass in der Folge zahlreiche Web-Anwendungen auf Basis von NodeJS entstanden.

Zu den ersten Content-Management-Systemen auf Basis von NodeJS gehörte Ghost CMS, eine Blog-Software, die schon vor seiner Veröffentlichung im Jahr 2013 durch eine Kickstarter-Kampagne eine enorme Aufmwerksamkeit erhielt. Bereits damals entwickelten sich allerdings auch Diskussionen darüber, ob NodeJS die richtige Technologie für ein CMS ist, da die Mainstream-Pakete der Standard-Hoster meist mit Apache-Servern betrieben werden und damit Sprachen wie PHP, Python oder Ruby unterstützen. Bis heute hat sich daran kaum etwas geändert, sodass man für ein Node-System etwas gezielter nach Hosting-Paketen suchen muss.

Angesichts des enormen Aufschwungs von JavaScript als Programmiersprache in den letzten Jahren verwundert der mangelnde Node-Support um so mehr: Mit modernen Frontend-Frameworks wie Vue, React und Angular ist JavaScript die dominante Sprache im Web schlechthin geworden. Allerdings nur Clientseitig. Serverseitig ist es weitestgehend beim alten Setup geblieben.

Im Ergebnis findet man heute zwar mit Ghost CMS, KeystoneJS, Apostrophe CMS, EnduroJS, Strapi oder HashBrown CMS eine ganze Reihe von Node-Systemen. Die Verbreitung dieser CMS ist jedoch vergleichsweise gering und angesichts sehr erfolgreicher PHP-Newcomer wie Craft-CMS gibt es nur wenig Anlass zu der Annahme, dass sich daran in naher Zukunft etwas Grundlegendes ändert. Hinzu kommt, dass viele der bestehenden CMS auf Node-Basis kaum mit dem Umfang und der Flexibilität anderer Systeme mithalten können. Ghost CMS hat beispielsweise erst mit der letzten Version im Jahr 2018 ein Routing-System eingeführt, mit dem sich Web-Seiten jenseits klassischer Blog-Konzepte realisieren lassen. KeystoneJS fehlen Konzepte wie Plugins oder ein granulares Rechte-Management komplett.

Anstelle des Aufschwungs von Node-CMS erleben wir derzeit mit den Headless CMS einen Aufschwung der API-Architektur bei Content Management Systemen. Auch bei den Headless CMS spielt JavaScript eine wichtige Rolle, allerdings vornehmlich als clientseitige Sprache im Frontend. Zwar findet man unter den Headless CMS mit ButterCMS, Contentful oder Prismic überproportional viele Systeme auf Node-Basis. Da die Backend-Sprache bei einem Headless-Konzept jedoch letztlich keine Rolle spielt, sind im Headless-Markt auch alle anderen Sprachen reichlich vertreten: PHP (Directus), Python (Superdesk), Java (Gentics Mash) oder ASP.NET (Squidex). Auf die ganz große Revolution in der serverseitigen Programmierung wird man daher noch warten müssen.