
Was macht ein Drupal-Entwickler und was muss er wissen?
Drupal ist ein komplexes Content-Management-System (genauer gesagt ein Content-Management-Framework), das sowohl für Unternehmen als auch für Entwickler große Möglichkeiten bietet. Obwohl die Vielzahl an Werkzeugen und Themen, die es zu lernen gilt, zunächst überwältigend sein kann, wird dieses CMS den Programmierern auf lange Sicht interessante technische Herausforderungen bieten. Sie können auch auf die Unterstützung der sich ständig weiterentwickelnden Gemeinschaft zählen. Möchten Sie Teil davon werden? Erfahren Sie, was ein Drupal-Entwickler wissen und tun sollte
Wer sind Drupal-Entwickler und welche Fähigkeiten haben sie?
Diese Spezialisten bauen und pflegen Websites und Anwendungen auf Basis von Drupal, einem Open-Source-System. Sie kennen das Administrationspanel in- und auswendig. Ihre Fähigkeiten gehen jedoch noch darüber hinaus, da sie spezielle Drupal-Module und -Themes erstellen und Geschäftsanforderungen in neue Funktionen umsetzen können. Tatsächlich müssen diese Entwickler verschiedene Arten von Wissen und Fähigkeiten kombinieren.
PHP und PHP-Framework
Ein Drupal-Entwickler kennt sowohl PHP als auch eines seiner Frameworks. Dies liegt daran, dass Drupal 7 in PHP erstellt wurde und Version 8 mit Symfony entwickelt wurde. Letzteres ist ein PHP-Framework zum Erstellen von Webservices, Anwendungen, Mikroservices und APIs. Kenntnisse in PHP erfordern in der Regel Kenntnisse in Twig, der Template-Engine (verwendet in Drupal 8 und 9).
Frontend-Sprachen
Der Spezialist, der mit Drupal arbeitet, ist auch mit JavaScript vertraut. Dabei ist insbesondere jQuery gemeint - eine JavaScript-Bibliothek, die die Durchführung standardmäßiger DOM (Document Object Model) und AJAX-Funktionen erleichtert. Arbeitserfahrung mit Angular, React oder Vue ist ebenfalls von Vorteil, da eines dieser JavaScript-Frameworks als Frontend einer headless Drupal-Lösung verwendet werden kann.
Drupal-Webentwicklung
Da dieser Entwickler Webseiten erstellt, kennt er selbstverständlich HTML und CSS. Die Browser verwandeln den Code dieser Sprachen in Webseiten. Ein Drupal-Entwickler arbeitet auch mit CSS-Präprozessoren wie Sass und Less. Sie erweitern die CSS-Sprache um neue Funktionen, die das Styling des Frontends beschleunigen. Da die Browser den Code, der mit Sass und Less geschrieben wurde, nicht verstehen, weiß ein Entwickler, wie man JavaScript-Task-Runner verwendet, z.B. Gulp oder Grunt. Diese ermöglichen das Kompilieren des Codes von den oben genannten Präprozessoren zu regulärem CSS.
Drupal-Entwickler können Taxonomien, Knoten, Inhaltstypen, Bildvoreinstellungen und Navigation erstellen sowie mit Drupal-APIs arbeiten. Bei Letzterem meinen wir beispielsweise:
- Formular-API, die zur Erstellung und Verarbeitung von Formularen auf einer Website verwendet wird,
- Render-API, die sich mit Renderarrays, Pipelines, Elementen und Caching befasst,
- Cache-API, die Daten speichert, deren Berechnung viel Zeit in Anspruch nimmt,
- Datenbank-API, die dem Entwickler eine standardisierte Abstraktionsschicht für den Zugriff auf Datenbankserver bereitstellt.
In Bezug auf Datenbanken kennt ein Drupal-Entwickler auch SQL und MySQL für die Einrichtung von Drupal-Datenbanken.
Modulerstellung
Die Module sind Plugins, die die Möglichkeiten von Drupal erweitern und die Integration mit verschiedenen Drittanbieter-Tools und -Diensten ermöglichen. Sie werden kostenlos von der um dieses CMS versammelten Community bereitgestellt. Die Entwickler wissen, wie man recherchiert, installiert und Module konfiguriert, die für ein bestimmtes Projekt am besten geeignet sind. Sie sollten auch in der Lage sein, neue Module zu erstellen, da die Erfüllung von Kundenanforderungen manchmal erfordert, kundenspezifische Lösungen von Grund auf zu entwickeln. Drupal-Entwickler müssen wissen, wie man dies mit Core-Hooks und Modul-Hooks macht.
Erstellung von Themes
Genauso wie bei Modulen konfiguriert der Programmierer nicht nur Themes, die von der Drupal-Gemeinschaft angeboten werden, sondern kann sie auch von Grund auf neu erstellen und sie so gestalten, dass sie mit einem soliden HTML/CSS validiert werden können. Benutzerdefinierte Themes sind erforderlich, da der Kunde möglicherweise ein einzigartiges und komplexes Design für seine Website benötigt.
Für diese Art von Arbeit müssen Entwickler ein solides Wissen über HTML, CSS und JavaScript haben, da sie mit einer Theme-Schicht arbeiten. Sie sollten auch in der Lage sein, ein responsives Design zu implementieren.
Mitglied der Drupal-Gemeinschaft
Zwei der Ideen hinter Open Source sind, dass jeder zu der Entwicklung einer solchen Lösung beitragen und sie dann frei nutzen kann. Die Drupal-Gemeinschaft ist riesig und wächst weiter. Ihre Mitglieder haben den gesamten Code dieses CMS freiwillig geschrieben. Jeder Entwickler, der es verwendet, sollte auch andere beim Verbessern und Entwickeln von Drupal unterstützen. Sie können dies tun, indem sie bestehende Probleme in den Projekten melden oder lösen, ein Theme, Modul oder eine Distribution pflegen, um nur einige zu nennen.
Wie wird man ein Drupal-Entwickler?
Sie können das Drupal-Entwickeln selbst erlernen oder mit der Hilfe von Spezialisten, die über Wissen und Erfahrung im Umgang mit diesem CMS verfügen. Der erste Weg dauert länger (es hängt auch von den individuellen Fähigkeiten ab), da Sie möglicherweise nicht wissen, wo Sie anfangen sollen. Hier sind einige Ideen, die Sie nutzen können.
- Sie können damit beginnen, eine Seite zu erstellen, indem Sie klicken und verschiedene Konfigurationsoptionen ausprobieren, um sich mit dem Administrationspanel vertraut zu machen.
- Dann können Sie das Views-Modul erkunden, indem Sie versuchen, grundlegende Ansichten und Blöcke zu erstellen. Wenn Sie sich damit wohl fühlen, fordern Sie sich mit der Erstellung komplexerer Ansichten mit Beziehungen und Begriffen heraus.
- Der nächste Schritt können Themes und Module sein. Wenn Sie den Code der letzten analysieren, werden Sie verstehen, wie sie aufgebaut sind und welche Möglichkeiten Drupals-Kern bietet. Erkunden Sie die beliebtesten Module, um einige gute PHP-Programmierpraktiken und Namenskonventionen kennenzulernen.
Wenn Sie alleine lernen, können Sie entscheiden, welches Thema Sie entdecken, wann Sie es tun und in welchem Tempo. Nachteile können Probleme bei der Systematisierung des Wissens und der Überprüfung Ihrer Lösungen sein. Doch die Drupal-Gemeinschaft wird Ihnen in solchen Situationen eine helfende Hand geben.
Im zweiten Lernpfad können Ihnen erfahrene Entwickler ein durchdachtes Drupal-Training anbieten, das aus Themen besteht, die Sie in Ihrer zukünftigen täglichen Arbeit benötigen werden.
Beim Lernen mit Experten auf diesem Gebiet erhalte ich solide Wissensressourcen, fundierte Unterstützung und schnelle Antworten auf meine Fragen. Ohne die Hilfe des Mentors würde ich immer noch reproduktiv programmieren, mit begrenztem Verständnis für verschiedene Themen. - Marcin Dębicki, Drupal-Entwickler.
Wie lange dauert es, Drupal zu lernen?
Es hängt alles von den Fähigkeiten ab, die Sie haben, der Zeit, die Sie für das Lernen aufwenden können, und der Anwendung dieses Wissens in der Praxis. Wenn Sie PHP nicht kennen, wird es länger dauern, sowohl diese Sprache als auch Drupal zu lernen. Wenn Sie bereits mit PHP vertraut sind und:
- allein lernen - kann es von einem Jahr bis zu mehreren Jahren dauern, bis Sie sich wohler fühlen,
- mit Hilfe guter Entwickler üben - könnten Sie nach etwa einem Jahr ein unabhängiger Entwickler werden.
Lernmaterialien
Die bereits erwähnte Drupal-Gemeinschaft ist eine großartige Wissensquelle. Ihre Mitwirkenden haben eine Seite mit einem Schritt-für-Schritt-Leitfaden vorbereitet, wie man dieses Content-Management-System installiert, verwendet und versteht. Sie finden dort, wie man mit Drupal beginnt und welche Themen danach zu verfolgen sind (mit Links dazu), sowie eine Menge anderer Lernressourcen wie Videos von Bob von Mustardseed. Sie können mehr kostenlose Tutorials auf der VideoDrupal-Webseite der Gemeinschaft finden oder auf dem YouTube-Kanal der Drupal-Vereinigung. Wir zeigen auch, wie man etwas im System macht und teilen Wissen über Module in unserem Blog.
Was die kostenpflichtigen Ressourcen betrifft, können Sie z.B. Drupalize.Me ausprobieren - eine Trainingsplattform mit einer Bibliothek von Video-Tutorials, oder Expertenbücher bekommen. Auf Goodreads finden Sie einige Veröffentlichungen, wie zum Beispiel:
- Drupal 8 Development Cookbook,
- Drupal 8 Module Development: Build modules and themes using the latest version of Drupal 8,
- Drupal 8 Theming with Twig.
Eine weitere Methode, die Ihr Lernen unterstützen kann, ist der Besuch von Veranstaltungen. Die größte ist die DrupalCon, die Nutzer und Unternehmen, die mit diesem CMS zu tun haben, aus aller Welt zusammenbringt. Sie bietet Sitzungen für Entwickler auf verschiedenen Ebenen an. Es gibt jedoch auch viele lokale Veranstaltungen wie DrupalCamp Polen.
Schließlich ist der schnellste Weg, ein Drupal-Entwickler zu werden, sich unserem Team anzuschließen und von den besten Experten zu lernen, die Ihre Mentoren sein werden.