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.