Czy połączenie z framework-iem Symfony2 wyjdzie CMS-owi na dobre? Te i inne pytania z pewnością nurtują wszystkich oczekujących nowej wersji tego popularnego systemu zarządzania treścią. Są one uzasadnione nie tylko ze względu na obietnice „szybszy”, „nowocześniejszy”, „lepszy”, ale również z uwagi na fakt, iż większość kodu została napisana praktycznie od zera oraz dodano komponenty Symfony2.

Zdjęcie royalty free z Fotolia

Wśród wybranych nowych funkcji i usprawnień, które znajdziemy w Drupal 8 są m.in. szybka edycja treści, bez wchodzenia w peny tryb edycji, łatwiejsze zapisywanie i zarządzanie wersją roboczą treści oraz responsywne, wbudowane skórki. Warto też wspomnieć, że uaktualniona wersja zawiera bardziej intuicyjny interfejs tłumaczeń, poprawioną wydajność front-endu oraz nowy mechanizm aktualizacji. O najważniejszych funkcjach przeczytasz poniżej.

Wielojęzyczność

Na szczególną uwagę zasługuje z pewnością poprawiona wielojęzyczność, która nie dość, że w Drupalu 7 wymagała instalacji wielu modułów, to jeszcze nie była bez błędów. Drupal 8 oferuje nam wbudowane kompletne i właściwe podejście do tłumaczenia treści. „Właściwość” polega na tym, że tłumaczenie encji nie powoduje utworzenia nowej treści w systemie (jak to miało miejsce w Drupalu 7), tłumaczone są jedynie pola encji. Najwyższy czas, aby tak podstawowa funkcja jak wielojęzyczność działała „out-of-the-box”.

Symfony2

Niewątpliwie nową jakość do Drupala 8 wprowadza zastosowanie komponentów framework-a Symfony2. Obiektowa architektura oraz sprawdzony wzorzec MVC sprawiają, że kod jest uporządkowany i spójny. Wymusza to również stosowanie dobrych praktyk dla twórców modułów, co jest bezcenne z perspektywy dewelopera i nie pozostaje bez znaczenia dla klienta, choć nie wszyscy zdają sobie z tego sprawę.

Deployment

Jedną z największych bolączek Drupala był od zawsze skomplikowany proces wdrażania zmian wiążący się z faktem, iż ustawienia konfiguracyjne zapisywane są w bazie danych. W Drupalu 8 otrzymujemy możliwość zarządzania konfiguracją poprzez pliki konfiguracyjne yml. Dzięki temu konfigurację możemy wersjonować, a przy okazji odciążamy bazę danych.

Twig

Do tworzenia szablonów w Drupalu 8 służy system szablonów Twig. Jest szybki i elastyczny, jednakże, co najistotniejsze, jest bezpieczny. Szablon służy do tego do czego jest przeznaczony, a więc do prezentacji widoku i wszelkie złe praktyki polegające na umieszczaniu logiki w szablonach nie powiodą się (na szczęście), gdyż Twig na to nie pozwoli.

Wydajność

Badania wykazały, iż to najczęściej front-end jest powodem długiego ładowania strony z powodu styli, skryptów czy obrazków. W związku z tym poprawiona została agregacja styli oraz skryptów. Ponadto zwiększono wydajność kompresji obrazków, a także dodano ładowanie obrazków z wykorzystaniem metody „lazy loading”. Dzięki tym zabiegom strony w Drupalu 8 mają ładować się szybciej.

Migracja

Dotychczasowy sposób aktualizacji został porzucony. Jego niedoskonałość ujawniała się zwłaszcza przy bardziej złożonych serwisach, gdzie próba migracji najczęściej kończyła się niepowodzeniem. Drupal 8 posiada wbudowany mechanizm importu oparty o moduł Migrate. To podejście pozwala na import zarówno z Drupala 7 jak i 6, a także z innych źrodeł.

Nowe podejście aktualizacji wygląda obiecująco, jednakże za wcześnie jeszcze by jednoznacznie ocenić niezawodność takiej migracji. Pamiętać należy również o modułach i konieczności ich istnienia dla wersji 8, a to na chwilę obecną (Drupal 8 beta) wciąż jest w fazie rozwoju.

Czy trzeba będzie uczyć się Drupala od nowa?

Użytkownik Drupala 7 bez problemu odnajdzie się w Drupalu 8, gdyż większość zmian w panelu zarządzania to drobne modyfikacje lub zmiany wizualne. Deweloperów, którzy nie spotkali się wcześniej z Symfony2 czeka niemałe wyzwanie. Nauka Symfony2 w całości nie będzie konieczna, niemniej opanowanie podstaw działania framework-u oraz zapoznanie się z mechanizmami, na których się opiera, będzie jak najbardziej wskazane.

Podsumowanie

Nie co dzień zdarza się sytuacja, by jeden z najpopularniejszych CMS-ów na rynku, z ugruntowaną pozycją i setkami tysięcy użytkowników decydował się na przepisanie kodu praktycznie od początku. Krok odważny choć z pewnością ryzykowny. Czas pokaże czy był to ruch słuszny, jednakże trudno sobie wyobrazić by było inaczej.

Architektura obiektowa to lepszej jakości kod, a lepszej jakości kod to lepszej jakości produkt, a więc dokładnie to czego oczekują użytkownicy - platformy nowoczesnej, przyjaznej, łatwej w rozbudowie, wydajnej i bezpiecznej. Drupal 8 spełnia wszystkie te warunki z korzyściami zarówno dla właścicieli serwisów jak i deweloperów!

Michał Kopydłowski

Back­end Developer w Merixstudio

Pracuje w poznańskiej agencji interaktywnej, zajmującej się projektowaniem nowoczesnych zgodnych ze standardami serwisów korporacyjnych, portali i aplikacji webowych. Specjalizuje się w tworzeniu stron internetowych opartych na systemie Drupal.

Komentarze (0)