Headless-CMS: Ein Traum für Frontend-Gurus

WordPress, TYPO3, Drupal, Neos – der Markt ist voll von „gewöhnlichen“ Content Management Systemen. Doch in letzter Zeit haben sich die Anforderungen an ein CMS extrem gewandelt. So war früher lediglich das einfache Bearbeiten von Inhalten auf Webseiten mithilfe eines WYSIWG-Editors das Einsatzgebiet. Heutzutage wollen wir mit nur einer Verwaltungsoberfläche gleich eine hohe Anzahl von Medien bespielen. Angefangen von einer normalen Webseite, über eine mobile App auf einem Smartphone bis hin zum Wearable oder einem Onlineshop. Genau hier kommt ein Headless-CMS ins Spiel. Wieso? Das erkläre ich euch in diesem Beitrag.
 

Was ist ein Headless-CMS?

Bei dem oben genannten Szenario kommen wir mit einem „normalen“ CMS an unsere Grenzen. Möglicher Ausweg ist ein sogenanntes Headless-CMS. Was ist der Unterschied? Bei einem traditionellen CMS sind das Front- und Backend eng verzahnt. Das sieht bei der Headless-Variante anders aus. Hier kümmert sich das Backend – verbunden mit einer Datenbank – um die Bearbeitungsfunktionalitäten sowie die Bereitstellung einer API (Programmierschnittstelle) und verzichtet komplett auf ein Frontend. Für die Erstellung eines Frontends, welches die im Backend eingetragenen Daten ausliefert, muss sich der Betreiber in Eigenregie kümmern.

Mit einem Headless-CMS kannst du verschiedene Medien bespielen.

Mit Headless ist alles möglich

Technisch funktioniert das Ganze wie folgt: Das Backend speichert die Content-Daten in einer Datenbank (z. B. MySQL). Diese Daten werden vom Headless-CMS mit einer REST-API bereitgestellt, über die sie eine Frontend-Applikation abrufen kann. Das ist mit den verschiedensten Programmiersprachen und Technologien möglich. Egal, ob React, vue.JS oder Angular, hier sind euch keine Grenzen gesetzt.

 

Somit könnt ihr mit einem Headless-CMS bspw. eine Website in PHP und eine iOS-App in Swift entwickeln. Anders als bei einem üblichen CMS, seid ihr nicht nur an PHP und MySQL gebunden. Der Vorteil: Die Daten werden vom Headless-CMS verwaltet und standardisiert bereitgestellt. Somit können sie von unterschiedlichsten Clients und Programmiersprachen einheitlich im JSON-Format abgerufen werden.

 

Natürlich gilt hierbei immer: Abgerufen werden kann nur das, wofür Berechtigungen vergeben sind. Ihr müsst also keine Angst haben, dass alle Daten über die öffentliche API zur Verfügung stehen.

Eure Vorteile

Ihr könnt ein und dieselbe Datenquelle für eure Applikationen verwenden. Denn die Inhalte werden serverübergreifend über die API abgerufen. Im Umkehrschluss habt ihr es mit weniger Komplexität zu tun, als bei einem normalen CMS. Außerdem könnt ihr eure Frontends in verschiedenen Sprachen entwickeln und habt zumeist zusätzlich eine hervorragende Skalierbarkeit.

Ein Nachteil

Es ist euch nicht möglich, „mal eben“ eine Microsite zusammenzuklicken. Schließlich ist hierfür immer ein Frontend-Entwickler von Nöten, der die Anpassungen macht.

Headless-CMS in verschiedenen Varianten

Zudem sei noch gesagt, dass es verschiedene Varianten eines Headless-CMS gibt. Einige sind in PHP geschrieben, andere in Node.js oder Go. Ein Richtig oder Falsch gibt es hier nicht – schaut selbst, welches System euch zusagt. Eine Übersicht findet ihr unter: https://headlesscms.org/.

Directus

Bei Mittwald haben wir mit Directus ganz gute Erfahrungen gemacht. Das Programm ist in PHP geschrieben und arbeitet mit MySQL als Datenspeicher. So kann es problemlos auf jedem Hosting-Account bei uns betrieben werden. Schaut gerne mal auf deren Webseite vorbei und probiert das System aus. 
Ich wünsche viel Spaß dabei! Solltet ihr Fragen dazu haben, schreibt sie gerne in die Kommentare. ;-)

Directus ist ein Headless-CMS, das Webhoster Mittwald schon getestet hat.

Kommentare

  1. Matthias Kurz am
    Spannende Sache, gerade für Angular-Applikationen. @Mirko - du motivierst mich immer, mal wieder Neos unter die Lupe zu nehmen ...
    Viele Grüße, Matthias
    Antworten
  2. Mirko Kaufmann am
    Ein schöner Tech-Artikel. :)

    Der Headless Ansatz lässt sich auch wunderbar in Neos CMS realisieren: In Neos werden die Inhalte gepflegt und dann die Ausgabe einfach im gewünschten Format bestimmt. Entweder in HTML, in JSON oder GraphQL. Die GraphQL API steht aktuell noch als eigenständiges Package zur Verfügung. Der Plan ist es aber die Schnittstelle mittelfristig in den Core von Neos aufzunehmen.

    GraphQL Package auf Github:
    https://github.com/bwaidelich/Wwwision.Neos.GraphQL

    Why monolith? Go headless! Using Neos as content API provider:
    https://www.youtube.com/watch?v=KwSwoSKx4cY

    Viele Grüße

    Mirko
    Antworten
    1. Kristina El-Issa am
      Hey Mirko,

      vielen Dank – auch für den Hinweis zu Neos. ;-)

      Gigahertzliche Grüße
      Kristina
      Antworten

Kommentar hinzufügen

    Notwendige Cookies akzeptieren
    Notwendige Cookies
    Diese Cookies sind für die korrekte Anzeige und Funktion unserer Website ein Muss, ob sie dir schmecken oder nicht. Sorry.
    Analyse
    Diese Cookies ermöglichen uns die Analyse deiner Website-Nutzung. Nur so können wir deine Suche nach einem geeigneten Tarif zur besten machen.
    Marketing
    Diese Cookies teilen wir. Unsere Partner (Drittanbieter) und wir verwenden sie, um dir auf deine Bedürfnisse zugeschnittene Werbung zu unterbreiten.