Geschrieben von Chris Schön am Oct 27, 2024
In einem unserer letzten Projekte standen wir vor einer spannenden Herausforderung: Wir wollten ein Design entwickeln, das komplett unabhängig von Drupal funktioniert, aber dennoch nahtlos eingebunden werden kann. Die Lösung war, das gesamte Design in Storybook zu entwickeln. Das gab uns maximale Flexibilität und erlaubte es uns, dem Kunden bereits früh fertige Komponenten zu zeigen und schnelle Anpassungen vorzunehmen. Das Beste daran: Die Komponenten waren wiederverwendbar – besonders praktisch, wenn dasselbe Template auf mehreren, voneinander unabhängigen Websites zum Einsatz kommt.
Der größte Vorteil der Zusammenarbeit von Drupal und Storybook ist, dass der Designprozess komplett vom Backend losgelöst wird. Designer und Entwickler arbeiten unabhängig voneinander, ohne sich gegenseitig aufzuhalten. Während die Designer in Storybook die Komponenten erstellen, kümmern sich die Entwickler um das Backend und die Logik in Drupal.
Für uns hieß das: Unsere Designer konnten ohne Hindernisse arbeiten und ihre kreativen Ideen sofort umsetzen, ohne auf das Drupal-Backend warten zu müssen. Das Design war nicht mehr an das Backend gebunden, was uns viel flexibler auf Kundenwünsche reagieren ließ. Änderungen mussten nicht erst im Drupal-System getestet werden. Stattdessen konnten wir direkt in Storybook sehen, wie sich Anpassungen auswirken – und der Abnahmeprozess wurde erheblich beschleunigt. Der Kunde sah sofort, was später in Drupal erscheinen würde, ohne sich durch viele kleine Template-Files in Drupal zu wühlen.
Damit die Zusammenarbeit zwischen Drupal und Storybook reibungslos klappt, haben wir zwei essenzielle Plugins genutzt:
Ein guter Einstieg in die Integration von Storybook und Drupal ist dieser Artikel: https://www.previousnext.com.au/blog/drupal-front-end-nirvana-vite-twig-and-storybook
Das Einbinden von Storybook-Komponenten in Drupal ist wirklich einfach und spart uns eine Menge Arbeit. Ein kleines Beispiel? Gerne:
{% include '@storybook/Atoms/Button/Button.twig' with {
modifier: 'primary',
icon: 'cross-close',
size: 'square',
attributes: create_attribute({
'data-navbar-toggle': 'toggle',
}),
} %}
Das Schöne daran? Wenn eine Komponente in Storybook angepasst wird, aktualisiert sich diese automatisch in allen verbundenen Drupal-Projekten. Kein manuelles Nachpflegen in jedem Projekt – alles bleibt konsistent, und wir sparen eine Menge Zeit.
Storybook ist nicht nur für große Projekte geeignet, sondern skaliert perfekt, egal ob es sich um ein kleines Drupal-Projekt oder eine ganze Reihe von Websites handelt. Die zentrale Verwaltung der UI-Komponenten in Storybook ist einfach Gold wert.
Wenn sich eine Komponente in Storybook ändert, müssen wir nicht jede Drupal-Seite einzeln anfassen. Das spart uns und unseren Kunden jede Menge Zeit und Nerven. Und trotz der zentralen Verwaltung lässt sich jede Komponente leicht an projektspezifische Anforderungen anpassen, ohne die Basis zu verändern. Alles bleibt modular und flexibel.
Natürlich gibt es ein paar Best Practices, die wir beachten, um sicherzustellen, dass die Arbeit mit Storybook und Drupal auch langfristig effizient bleibt:
Die Kombination aus Drupal und Storybook bringt uns und unseren Kunden viele Vorteile: Flexibilität in der Entwicklung, schnelle Anpassungen und eine langfristig konsistente Benutzeroberfläche. Besonders wenn es darum geht, mehrere Projekte zu verwalten oder Komponenten wiederzuverwenden, hat sich Storybook als unverzichtbares Werkzeug erwiesen. Wer einen modernen und effizienten Workflow sucht, sollte die Kombination von Drupal und Storybook definitiv ausprobieren.