Headless Drupal mit JSON:API – Flexibilität und Leistung.

Geschrieben von Chris Schön am 25.04.2023

Header image for Headless Drupal mit JSON:API – Flexibilität und Leistung

Einführung in Headless Drupal

Headless Drupal gewinnt als benutzerfreundliche und leistungsstarke Lösung für moderne Webanwendungen zunehmend an Bedeutung. In verschiedenen Projekten setzen wir bereits den Headless-Ansatz ein, um beispielsweise Apps mit redaktionell gepflegten Datenstrukturen zu versorgen oder komplexe umfassende Webseiten zu entwickeln.

Vorteile von Headless Drupal 9

Der Headless-Ansatz bietet oft zugleich Flexibilität, Skalierbarkeit, Performance verbunden mit einer guten Benutzererfahrung für das redaktionelle Team. Durch die Trennung von Backend und Frontend können Backend- und Frontend-Entwickler, sowie Designer unabhängiger voneinander arbeiten und verschiedene Technologien einsetzen. Der Headless-Ansatz eignet sich besonders für Projekte, die auf mehreren Plattformen und Geräten laufen sollen oder bei denen eine hohe Performance entscheidend ist.

JSON:API in Drupal 9 – ein Überblick

Das JSON:API Core-Modul in Drupal 9+ ermöglicht eine einfache und standardisierte Kommunikation zwischen Frontend und Backend. Als Teil des Drupal-Cores bietet es eine solide und zukunftssichere Basis für die Entwicklung von Headless-Anwendungen. Zusammen mit dem JSON:API Extras-Modul kann eine flexible API bereitgestellt werden, die direkt über die Drupal-Benutzeroberfläche konfiguriert und angepasst werden kann.

Technische Aspekte und Integration

Wie bei allen Modulen kann auch das JSON:API-Modul in Drupal einfach aktiviert und konfiguriert werden. Der Zugriff auf Ressourcen erfolgt über den JSON:API-Endpunkt, der Filter, Sortierung und Paginierung unterstützt.

Beliebte Frontend-Technologien wie React, Angular oder Vue.js lassen sich problemlos mit Drupal 9 verbinden und können jederzeit ausgetauscht werden.

Für das JSON:API-Modul steht unter anderem ein OpenAPI-Modul zur Verfügung, das anhand des generierten Schemas einen API-Client generieren kann. Der OpenAPI-Standard ermöglicht so die einfache und zukunftssichere Einbindung der Drupal-Daten in das Frontend-Projekt.

Headless als Standardlösung?

Bei der Entscheidung für oder gegen einen Headless-Ansatz sollten mehrere Aspekte berücksichtigt werden, z. B. Projektanforderungen, technische Ressourcen und zukünftige Wartung. Eine sorgfältige Evaluierung hilft dabei, die richtige Wahl für das jeweilige Projekt zu treffen.

Sollte von Anfang an klar sein, dass mehrere Frontends mit Daten versorgt werden sollen, kann ein Headless-Ansatz sehr praktisch sein. Es sollte beachtet werden, dass durch den Headless-Ansatz mehr Aufwand entstehen kann, aber auch hohe Flexibilität gewährleistet ist.

Best Practices und Tipps

In unseren Projekten hat es sich bewährt, eigene JSON:API Enhancer zu schreiben, um Daten aufzubereiten oder zu vereinfachen. Ein häufiges Problem ist, dass Bilder über das Responsive Media Module zu kompliziert und verschachtelt bereitgestellt werden, über einen Custom Enhancer vereinfachen wir das Modul und Schema.

Leider existiert zu JSON:API Enhancer noch keine sehr ausführlich Dokumentation, aber ein Drupal- bzw. Symfony-Entwickler findet sich relativ schnell damit zurecht.

Wir setzen grundsätzlich auf das JSON:API-Modul zusammen mit JSON:API Extras sowie OpenAPI-Erweiterung, um Projekte schnell und unkompliziert zu starten.

Fazit

Der Headless-Ansatz in Drupal 9 mit dem JSON:API Core-Modul bietet Entwicklern und Produktverantwortlichen eine flexible und leistungsstarke Lösung für moderne Webprojekte. Durch die Trennung von Backend und Frontend sowie die einfache Integration verschiedener Frontend-Technologien lassen sich individuelle Anforderungen optimal umsetzen. Wir ermutigen Sie, den Headless-Ansatz in Ihren Projekten in Betracht zu ziehen und bei Bedarf auszuprobieren.