Drupal Developer

Kim jest programista Drupala i jak nim zostać?

Drupal to złożony system zarządzania treścią (a dokładniej – framework zarządzania treścią), który oferuje ogromne możliwości zarówno dla firm jak i programistów. Chociaż mnogość narzędzi i tematów, które trzeba przyswoić może być dla niektórych początkowo przytłaczająca, programiści mogą liczyć na wsparcie stale rozwijającej się społeczności. Czy chcesz stać się jej częścią? Dowiedz się, co dokładnie powinien wiedzieć i potrafić programista Drupala.

Kim są programiści Drupala i jakie posiadają umiejętności?

Tego rodzaju specjaliści budują i utrzymują strony internetowe i aplikacje oparte na Drupalu – systemie typu open source. Na wylot znają jego panel administracyjny. Jednak ich możliwości sięgają jeszcze dalej, ponieważ potrafią tworzyć dedykowane moduły i skórki dla Drupala, a także przekształcać potrzeby biznesowe w nowe funkcjonalności. Tego typu programiści muszą łączyć różne rodzaje wiedzy i umiejętności.

PHP i framework PHP

Programista Drupala zna zarówno PHP jak i jeden z jego frameworków. Wynika to z faktu, że Drupal 7 został stworzony w PHP, a wersja 8 została zbudowana przy użyciu Symfony. Jest to framework PHP do tworzenia serwisów internetowych, aplikacji, mikroserwisów i API. Znajomość PHP zwykle wymaga znajomości Twiga, jego silnika szablonów (używanego w Drupalu 8 i 9).

Języki frontendowe

Specjalista pracujący z Drupalem zna również JavaScript. Chodzi nam tu konkretnie o jQuery – bibliotekę JavaScript, która umożliwia realizację standardowych funkcji DOM (Document Object Model) i AJAX. Jednakże doświadczenie w pracy z Angularem, Reactem lub Vue również jest atutem, ponieważ jeden z tych frameworków może być użyty jako frontend rozwiązania headless Drupal.

Tworzenie stron internetowych w Drupalu

Biorąc po uwagę, że tego typu programiści tworzą witryny internetowe, znają oczywiście HTML i CSS. Przeglądarki zamieniają kod tych języków w strony internetowe. Programista Drupala pracuje również z preprocesorami CSS, takimi jak Sass i Less. Rozszerzają one język CSS o nowe funkcje, które przyspieszają stylowanie frontendu. Jako że przeglądarki nie rozumieją kodu napisanego za pomocą Sass i Less, programista wie, jak korzystać z task runnerów JavaScript, np. Gulpa czy Grunta. Umożliwiają one kompilację kodu ze wspomnianych wyżej preprocesorów do zwykłego CSS.

Programiści Drupala potrafią tworzyć taksonomie, nody, typy treści, ustawienia obrazów oraz nawigację, a także pracować z API Drupala. W przypadku tych ostatnich mamy na myśli na przykład:

  • Form API, które służy do tworzenia i przetwarzania formularzy na stronie internetowej,
  • Render API, które zajmuje się tablicami renderowania, pipelinem, elementami i buforowaniem,
  • Cache API, przechowujące dane, których obliczenie zajmuje dużo czasu,
  • Database API, które zapewnia programiście standardową warstwę abstrakcji do uzyskiwania dostępu do serwerów baz danych.

Jeśli chodzi o bazy danych, programista zna również SQL i MySQL do konfigurowania baz danych Drupala.

Tworzenie modułów

Moduły to wtyczki, które rozszerzają możliwości Drupala i umożliwiają integrację z różnymi narzędziami i usługami innych firm. Są one dostarczane bezpłatnie przez społeczność skupioną wokół tego CMSa. Programiści wiedzą, jak wyszukiwać, instalować i konfigurować moduły najbardziej odpowiednie dla konkretnego projektu. Powinni również umieć budować nowe moduły, ponieważ czasami spełnienie wymagań klienta wiąże się z tworzeniem niestandardowych rozwiązań od podstaw. Programiści Drupala muszą wiedzieć, jak to zrobić za pomocą hooków rdzenia i hooków modułów.

Tworzenie skórek

Podobnie jak w przypadku modułów, programista nie tylko konfiguruje skórki oferowane przez społeczność Drupala, ale także potrafi budować je od podstaw i umożliwiać ich walidację za pomocą solidnego HTML/CSS. Takie niestandardowe skórki są potrzebne, ponieważ klient może potrzebować unikatowego i złożonego projektu dla swojej strony internetowej.

W przypadku tego typu pracy programiści muszą posiadać solidną wiedzę na temat HTML, CSS i JavaScript, ponieważ działają z warstwą skórki. Powinni również być w stanie wdrożyć responsywny projekt.

Członek społeczności Drupala

Dwie z idei stojących za oprogramowaniem open source dotyczą tego, że każdy może mieć swój wkład w tworzenie tego typu rozwiązań, a następnie może swobodnie z nich korzystać. Społeczność Drupala jest ogromna i cały czas się rozrasta. Jej członkowie sami napisali cały kod tego CMS-a. Każdy programista, który z niego korzysta również powinien dołączyć do pozostałych w celu ulepszania i rozwijania Drupala. Może to zrobić na przykład zgłaszając lub rozwiązując istniejące problemy w projektach albo utrzymując skórkę, moduł lub dystrybucję.

Jak zostać programistą Drupala?

Możesz nauczyć się programowania w Drupalu samodzielnie lub z pomocą specjalistów, posiadających wiedzę i doświadczenie w pracy z tym CMS-em. Ta pierwsza ścieżka trwa dłużej (zależy również od indywidualnych umiejętności), ponieważ możesz nie wiedzieć, od czego zacząć. Oto kilka pomysłów, z których możesz skorzystać.

  • Możesz zacząć od budowania strony klikając i zaznaczając różne opcje konfiguracyjne, aby zapoznać się z panelem administracyjnym.
  • Następnie możesz odkrywać moduł Views, tworząc podstawowe widoki i bloki. Kiedy już to opanujesz, postaw przed sobą wyzwanie stworzenia bardziej złożonych widoków z relacjami i warunkami.
  • Kolejnym krokiem mogą być skórki i moduły. Analizując kod tych ostatnich, zrozumiesz jak są zbudowane, a także zobaczysz możliwości rdzenia Drupala. Sprawdź najpopularniejsze moduły, aby poznać dobre praktyki programowania w PHP i konwencje nazewnictwa.

Ucząc się sam, możesz zdecydować, jakim tematem się zajmiesz, kiedy to zrobisz i w jakim tempie. Minusem mogą być problemy z usystematyzowaniem wiedzy i weryfikacją Twoich rozwiązań. Jednak społeczność Drupala poda ci w takich sytuacjach pomocną dłoń.

W ramach drugiej ścieżki zdobywania wiedzy doświadczeni programiści mogą zapewnić Ci dobrze przemyślany Trening Drupala, obejmujący tematy, które przydadzą Ci się w Twojej przyszłej codziennej pracy.

Ucząc się z ekspertami w tej dziedzinie, zyskuję solidne źródła wiedzy, wsparcie merytoryczne i szybkie odpowiedzi na moje pytania. Bez pomocy mentora nadal programowałbym odtwórczo, przy ograniczonym zrozumieniu różnych tematów – Marcin Dębicki, programista Drupala.

Jak długo trwa nauka programowania w Drupalu?

Wszystko zależy od posiadanych umiejętności, czasu jaki możesz poświęcić na naukę i wykorzystywanie tej wiedzy w praktyce. Jeśli nie znasz PHP, jednoczesna nauka tego języka oraz Drupala zajmie Ci więcej czasu. Natomiast jeśli znasz już PHP oraz:

  • zdobywasz wiedzę na własną rękę – potrzeba od roku do kilku lat, aby bardziej się oswoić z Drupalem,
  • ćwiczysz z pomocą dobrych programistów – możesz zostać niezależnym deweloperem po około roku.

Materiały do nauki

Wspomniana już społeczność Drupala jest świetnym źródłem wiedzy. Jej członkowie przygotowali stronę z przewodnikiem przedstawiającym krok po kroku, jak zainstalować, używać i rozumieć ten system zarządzania treścią. Dowiesz się tam, jak zacząć zapoznawanie się z Drupalem i jakimi tematami zająć się później (wraz z linkami do nich), a także mnóstwo innych zasobów edukacyjnych, takich jak filmy Boba z Mustardseed. Więcej darmowych tutoriali znajdziesz na VideoDrupal (społecznościowa strona) lub na kanale Drupal Association na YouTube. Na naszym blogu również pokazujemy, jak wykonywać działania w systemie i dzielimy się wiedzą na temat modułów.

Jeśli chodzi o płatne zasoby, możesz np. wypróbować Drupalize.Me – platformę szkoleniową z biblioteką tutoriali wideo lub nabyć podręczniki eksperckie. Na Goodreads możesz znaleźć sporo publikacji, takich jak:

  • Drupal 8 Development Cookbook,
  • Drupal 8 Module Development: Build modules and themes using the latest version of Drupal 8,
  • Drupal 8 Theming with Twig.

Inną metodą, która może wesprzeć Twoją naukę, jest uczestniczenie w wydarzeniach. Największym z nich jest DrupalCon, który skupia użytkowników i firmy z całego świata, związane z tym CMS-em. Konferencja zawiera sesje dla programistów na różnych poziomach zaawansowania. Istnieje również wiele lokalnych wydarzeń, takich jak DrupalCamp Poland.

Najszybszym sposobem na zostanie programistą Drupala jest dołączenie do naszego zespołu i uczenie się od najlepszych ekspertów, którzy będą Twoimi mentorami.