Headless CMS

Headless CMS Programmierung

Flexibilität durch Trennung von Backend und Frontend

Das Netz ist ein Medium im Fluss. Aus den statischen Websites der 1990er Jahre sind im Laufe der letzten Jahrzehnte anspruchsvolle, dynamische Webanwendungen geworden. Mit der zunehmenden Verbreitung von Web-Contentmanagement-Systemen (CMS) wie Drupal oder WordPress ist es immer einfacher geworden, professionelle Internetseiten zu betreiben und mit frischen Inhalten zu bestücken.

Von Anfang an stand bei der Entwicklung solcher CMS-Lösungen die Trennung von Content und technischer Umsetzung der Website im Vordergrund. In den letzten Jahren werden sogenannte Headless CMS für die Realisierung größerer Web-Projekte immer populärer. Das noch junge Entwicklungsparadigma API First zeigt an, wohin die Reise führen kann. Flexible Webanwendungen dank Headless CMS.

Skalierbarkeit

Skalierbarkeit als Herausforderung

Ob es um eine vergleichsweise einfache Unternehmenswebsite geht, auf der Sie über aktuelle Nachrichten und Angebote informieren, oder um einen umfangreichen Webshop inklusive Multichannel-Angeboten und Werbeinhalten:

Die Skalierbarkeit Ihres Webauftritts stellt auf allen Ebenen eine Herausforderung dar.

Das fängt beim Software Engineering (Requirements Engineering, Software Design) an und reicht bis zur Bereitstellung der Daten auf den Servern. Da Technik, Inhalt und Design bei herkömmlichen Content Management Systemen zwar bereits getrennt, aber weiterhin als ein monolithisches Paket ausgeliefert werden, ist es kompliziert, Content für mehr als ein Medium aufzubereiten. Die Auslieferung einer Website wird dadurch unnötig verkompliziert. Nicht zuletzt bedeutet die Entwicklung von Angeboten auf Basis herkömmlicher Content Management Systeme, sich beim Development der eigentlichen Webseite mit den systembedingten Einschränkungen des CMS zufriedengeben zu müssen. Innovative, neue Features und Funktionen von Technologien wie Vue.js, React oder Angular können daher nicht immer zeitnah eingesetzt werden.

Gerade beim Design mobiler Frontends oder von Webviews für die Verwendung in Mobile-Apps, ist es aber wichtig, das Seitenrendering so performant wie möglich zu gestalten. Untersuchungen zeigen, dass schon wenige Sekunden Wartezeit beim Abruf einer Website den Unterschied zwischen einer erfolgreichen Conversion und einem verlorenen Kunden machen können. Dazu kommt, dass Google und Co. die Lade- und Renderzeiten von Websites inzwischen maßgeblich heranziehen, um das Ranking von Treffern in den Suchergebnissen zu bestimmen. Performantes Webdesign ist damit auch aktive Suchmaschinenoptimierung.

Vor allem das Aufkommen zusätzlicher Geräteklassen hat in den letzten Jahren dazu geführt, dass traditionelle Content Management Systeme zunehmend an ihre Grenzen stoßen. Für die Nutzung im Web funktionierte das Kombi-Modell aus Back- und Frontend noch sehr gut.

Doch mit mobilen Handsets, Konferenzbildschirmen, Smartspeakern und Wearables gibt es mittlerweile immer häufiger den Bedarf, die per CMS vorgehaltenen Inhalte auf verschiedensten Medien auszugeben.

Unsere Empfehlung: Spätestens dann, wenn in den kommenden Jahren neue IoT-Devices für den E-Commerce wichtiger werden, sollten Sie als Anbieter über die klassische Website hinausdenken.

Headless Content Management Systeme

Flexible Endgeräte Lösung

Um diesen Herausforderungen zu begegnen, setzen in den letzten Jahren immer mehr Entwicklerinnen und Entwickler auf sogenannte Headless-Lösungen beim Aufbau von Websites und anderen digitalen Formaten. Als 'headless' (also 'kopflos') wird im Softwarebereich ganz allgemein Software beschrieben, die ohne Benutzeroberfläche auskommt und nur im Hintergrund arbeitet. Auf normalen Desktop-Rechnern können das zum Beispiel Hintergrunddienste des Betriebssystems sein, die wichtige Grundfunktionen für andere Programme bereitstellen. Ganz ähnlich funktionieren Headless CMS. Statt die Software, die Datenbank und Backend bereitstellt, fest mit der Oberfläche der Website auszuliefern, stellen Headless Content Management Systeme lediglich eine sogenannte API zur Verfügung. Über diese Programmierschnittstelle können andere Programme oder Websites auf die Daten zugreifen. Dadurch lassen sich zum Beispiel ein Unternehmensblog, ein Webshop und eine Smartphone-App alle aus demselben Datenbestand speisen.

Headless entwickelte CMS sind front-end-agnostisch und lassen sich von allen denkbaren Anwendungen und Geräten nutzen. Bei herkömmlichen Content Management Systemen bedeutete der Wunsch, verschiedene Endgeräte anzusprechen, die Notwendigkeit, zusätzliche Workarounds und Plug-ins zu entwickeln. Solche Lösungen führen, wenn das eigentliche CMS aktualisiert wird, oft zu Kompatibilitätsproblemen, die Kosten und im schlimmsten Fall Sicherheitsprobleme verursachen. Werden Oberfläche und Datenbestand ohnehin strikt getrennt, sind Abwärtskompatibilität und Sicherheit der nach außen offenen Schnittstellen des Systems von Anfang an die wichtigsten Faktoren des Softwaredesigns. Damit ist der Betrieb einer vorhandenen Website oder Anwendung auch dann möglich, wenn das CMS wesentliche Aktualisierungen erfährt. Headless Content Management Systeme sind wesentlich schlanker und agiler als andere CMS-Pakete, Updates lassen sich unabhängig von der Front-End-Entwicklung ausspielen.

Vorteile

Kostensparende, schnelle Entwicklung

Da die Schnittstellen eines guten Headless Content Management Systems klar definiert sind, fällt es Software- und Webentwicklern wesentlich leichter, Anwendungen für die Nutzung mit dem CMS zu entwickeln. Das spart nicht nur Kosten, sondern kann vor allem auch zu einer schnelleren Entwicklung beitragen. Denn die eindeutige Trennung der Entwicklungsbereiche ermöglicht es, dass völlig verschiedene Arbeitsgruppen das CMS, die Website oder zum Beispiel die Anbindung an externe Handelsplattformen entwickeln. Selbst Teams aus unterschiedlichen Unternehmen und Agenturen können einander so problemlos zuarbeiten ohne alle Details der Arbeit der jeweils anderen Entwicklerinnen und Entwickler zu kennen.

Frei von den Einschränkungen monolithischer CMS lassen sich mit Headless Systemen dynamische neue Nutzungsszenarien entwerfen und ausprobieren. Die Entwicklung einer neuen Website, eines Alexa-Skills oder einer App für den Smart-TV erfolgt unabhängig von den Möglichkeiten des genutzten CMS. So entstehen keine Abhängigkeiten der einzelnen Anwendungen voneinander. Fehler oder Sicherheitsprobleme in der App führen damit nicht zu einer Situation, in der auch die Website eilig mit Security-Patches versorgt werden muss oder umgekehrt. Überhaupt hilft die Nutzung einer Headless-CMS-Lösung dabei, vielen der Sicherheitsrisiken zu begegnen, denen moderne Webanwendungen ausgesetzt sind. So lässt sich das Back-End zum Beispiel unabhängig von den Endanwender-Seiten und Anwendungen sichern und im Ernstfall zurückspielen. Die Möglichkeit, das CMS als fertigen Container zu speichern und redundant bereitzustellen, hilft dabei, mögliche Downtimes auf ein absolutes Minimum zu reduzieren.