.

Drupal 8 vs Drupal 9. Czy już czas na aktualizację?

System Drupal możemy zakwalifikować jako jeden z najbezpieczniejszych CMS-ów na rynku. Posiada dopracowaną strukturę oraz bogaty zasób funkcji. W tym tekście najpierw spojrzymy na Drupala 8. Przypomnimy, kiedy został wydany i jakie zmiany przyniósł, w stosunku do poprzednich wersji. Później przyjrzymy się Drupalowi 9, a następnie prównamy obie wersje.

Wydania Drupala

Drupal 8 miał swoją premierę 19 listopada 2015 roku. W porównaniu do poprzedniej wersji, czyli Drupala 7, przybyło aż 200 nowych wbudowanych funkcji, ulepszono wielojęzyczność platformy oraz wprowadzono m.in. nowy edytor stron oraz wersję dla strony mobilnej (funkcja wbudowana - nie jest wymagana dodatkowa domena dla wersji mobilnej). W kwestii różnic względem poprzedniej wersji możemy również dodać fakt, że Drupal 8 wykorzystuje programowanie obiektowe, zamiast stosowanego w poprzedniej wersji podejścia proceduralnego. Nowa wersja Drupala korzysta z innego silnika motywów - Twig, który oparty jest na PHP. Dzięki temu programiści tworzący nowe motywy mają ułatwione zadanie z powodu prostszej składni.

Kolejną dodatkową funkcją w Drupal 8 jest możliwość edytowania treści bezpośrednio z poziomu interfejsu użytkownika witryny. Warto również wspomnieć, że nowsza wersja Drupala posiada dostęp do widoków bezpośrednio z kilku ekranów administracyjnych. Nie ma już konieczności poświęcania na to dodatkowego czasu, jak to miało miejsce w Drupalu 7. Patrząc z perspektywy osoby przeglądającej stronę, możemy także zauważyć, iż zdecydowanie zwiększyła się szybkość ładowania strony dzięki buforowaniu encji. Dodatkowo treść, która była wcześniej przeglądana nie musi być ponownie ładowana, ponieważ zostaje w pamięci podręcznej systemu. Ponadto kod JavaScript nie jest ładowany, dopóki nie jest to konieczne. Po aktualizacji Drupala do wersji 8 należy również zwrócić uwagę na nowe typy pól, które w znaczący sposób mogą ułatwić pracę programistom.

Jaka jest różnica między Drupalem 8 a Drupalem 9?

Drupal 9 ujrzał światło dzienne 3 Czerwca 2020 roku. Został zbudowany na wersji 8, więc lista zmian jest krótsza oraz sam update z wersji 8 do 9 jest prostszy. Do najważniejszych różnic możemy zaliczyć usunięcie prawie wszystkich funkcji określanych jako deprecated. W wersji 9 zostały one zastąpione innymi, a te, które zostały, będą usunięte w kolejnej odsłonie Drupala. Lista funkcji określonych jako deprecated dostępna jest na stronie Drupal.org.

Nowością w wersji 9 jest także nowa wersja Symfony. W Drupalu 8 używana była wersja 3, natomiast teraz jest wersja 4. Dodatkowo została zaktualizowana wersja silnika motywów - Twig z wersji 1 zmienił się na 2. Kolejną zmianą między Drupalem 8 a 9 jest fakt, że większość zależności do biblioteki jQuery UI została usunięta. W przypadku przeprowadzania testów w nowej odsłonie bazujemy na rozwiązaniu PHPUnit (wcześniej można było używać frameworka SimpleTest).

Następną rzeczą, która została prawie całkowicie usunięta w Drupalu 9 to Simple Annotation Parser z Doctrine. Natomiast elementy wymagane zostały włączone do rdzenia Drupala 9. Musimy także zwrócić uwagę na wersję Apache, ponieważ w przypadku Drupla 8 mogliśmy posiadać wersję 2.x, obecnie w Drupalu 9 wymagana jest wersja min. 2.4.7. Podobna sytuacja jest z PHP - tym razem powinniśmy posiadać wersję min. 7.3, ale wspierana jest też 7.4 oraz 8.0 (dotyczy Drupala 9.1.0). W kwestii bazy danych i użycia MySQL/Percon wymagania Drupala 9 to min. 5.7.8, Drupal 8 działał z wersją 5.5.3. Podobnie wygląda przypadek użycia MariaDB oraz SQLite. Będą to odpowiednio wersje min. 10.3.7 oraz 3.26. Poprzednia odsłona Drupala korzystała z wersji 5.5.20 dla MariaDB oraz 3.6.8+ dla SQLite.

Performance

Zgodnie z powyższym opisem różnic między Drupalem 8 oraz Drupalem 9, z pewnością możemy stwierdzić, iż nowsze wydanie CMS-a wypada zdecydowanie lepiej pod względem szybkości działania. Zastosowanie wersji PHP min. 7.3 poprawiło prędkość ładowania się stron. Przykład możemy sprawdzić na stronie PHP Benchmarks, gdzie podane są wszystkie wersje PHP - od 5.6 do 8.0. Już na pierwszy rzut oka możemy dostrzec, że między Drupalem 8 oraz 9 mamy ponad 10% wzrost wydajności. Jest to idealny powód, aby rozważyć przejście na nowszą wersję, ponieważ każda kolejna wersja PHP powoduje jeszcze większy skok wydajności.

Podobnie wygląda sytuacja z Symfony. Dotychczas używana była wersja 3, natomiast Drupal 9 potrzebuje już nowszej, czwartej wersji frameworka. Dzięki niej możemy w znaczący sposób zredukować czas pracy programistów, który jest potrzebny, aby stworzyć nowy moduł lub usprawnić już istniejący. Wyniki porównania wersji Symfony od 2 do 5 możemy sprawdzić na wspomnianej już stronie PHP Benchmarks.

Porównanie wersji Symfony na stronie PHP Benchmarks

 

Kolejnym punktem, do którego możemy się odnieść w kontekście porównania wydajności to zastosowana wersja Twiga. W przypadku Drupala 9 silnik motywów jest o ok. 15% szybszy od tego, który został użyty w Drupalu 8.

Porównanie wydajności różnych wersji silnika motywów Twig, które są wykorzystywane w Drupalu

 

Może Cię także zainteresować: Dlaczego Drupal to najlepszy Headless CMS?

Drupal 8 vs Drupal 9 - przejście na wyższą wersję

Aktualizacja Drupala 8 do Drupala 9 jest zdecydowanie prostsza oraz mniej czasochłonna w porównaniu do przejścia z wersji 7 do 8. W pierwszej kolejności musimy zweryfikować, czy używamy najnowszej odsłony Drupala 8. Należy również zaznaczyć, że niedługo (listopad 2021 r.) skończy się wsparcie dla starszej, ósmej wersji opisywanego CMS-a, więc w niedługim czasie powinniśmy dokładnie przemyśleć proces aktualizacji i przygotować się do update’u Drupala.

Kiedy upewniliśmy się już, że mamy najnowsza wersję Drupala 8, możemy zacząć od update’u wszystkich modułów oraz skórek. W tym przypadku także musimy posiadać ich najnowsze wersje. Przy tym kroku dostrzeżemy, iż większość modułów ma już wsparcie dla Drupala 9. Następnie warto skorzystać z dostarczonego przez autorów tego CMS-a narzędzia do przygotowania checklisty rzeczy, które trzeba przygotować, aby aktualizacja przebiegła gładko i bez komplikacji.

Jednym z ostatnich kroków będzie sprawdzenie czy serwer, na którym planujemy postawić Drupala 9, spełnia wymagania odnośnie wersji PHP, Apache oraz silnika bazy danych. W poprzednich akapitach opisaliśmy wymagane wersje. W tym momencie jesteśmy już o krok od używania Drupala 9. Wystarczy jedynie kilka kliknięć oraz trochę czasu, aby przejść przez cały proces update’u.

Drupal 8 vs Drupal 9 - podsumowanie

Z powodu kończącego się wsparcia dla Drupala 8, znaczącego wzrostu wydajności systemu oraz stosunkowo prostej aktualizacji do najnowszej wersji, rekomendujemy przeprowadzenie tego procesu jak najszybciej. Dzięki temu unikniemy wszelkich problemów po wygaśnięciu wsparcia oraz komplikacji w razie przeprowadzania update’u na “szybko”, na nieprzystosowanym do tego środowisku. Warto zaplanować taki proces od początku do końca i cieszyć się zdecydowanie większą przejrzystością kodu oraz nowymi możliwościami, jakie zapewnia Drupal 9.

Jeśli nie wiesz, jak prawidłowo przeprowadzić proces update’u do najnowszej wersji, nasz doświadczony zespół wsparcia Drupala z chęcią Ci w tym pomoże.