Joomla! czy WordPress?

Ponieważ intensywnie pracuję zarówno z Joomla! jak i WordPressem tytułowe pytanie jest zadawane mi bardzo często. Tak często, że chciałbym raz na zawsze obalić kilka mitów zwłaszcza, że zazwyczaj na ten temat wypowiadają się ludzie, którzy „kiedyś zainstalowali WordPress/Joomla”. Opiszę swoje przemyślenia z perspektywy człowieka, który zainstalował i modyfikował każdy z tych CMS-ów kilkaset razy.

TL;DR

Gdy zadawane jest mi tytułowe pytanie, to odpowiedź zawsze jest podobna – „To zależy – a do jakiego zastosowania?”. I jest to jedyna słuszna odpowiedź – wciskanie ludziom wszędzie WordPressa/Joomla! to duży błąd, bo zastosowania i cechy tych CMS-ów mocno się rozmijają. Więcej szczegółów w poniższym wpisie.

Skąd w ogóle bierze się problem?

Cały problem wynika z tego, że większość osób korzysta tylko z jednego z tych CMS-ów i krótko mówiąc ma klapki na oczach w temacie zalet „przeciwnika” swojego faworyta.

Pora na wstydliwe wyznania – gdy byłem jeszcze w liceum na widok jakiegokolwiek CMS-a reagowałem obrzydzeniem – zarówno Mambo (przyszła Joomla!) jak i WordPress były dla mnie niewygodne i przekombinowane. Wynikało to z prostej rzeczy – po prostu nie miałem obycia z ich interfejsem i sposobem myślenia ich twórców, który prowadzi do efektywnej pracy z daną platformą.

Gdy zacząłem pracować, po pewnym czasie ta straszna Joomla przestała być dziwnym tworem a dla WordPressa dało się tworzyć wtyczki. Krótko mówiąc – adaptacja. W zasadzie wszystko co ma więcej niż jeden przycisk jej wymaga. O tym czy coś jest kiepskie w temacie CMS-ów można mówić po paru tygodniach pracy, a nie po przypadkowym wejściu do panelu administracyjnego.

Przeznaczenie

Gdy wybieramy CMS dla klienta, przede wszystkim powinniśmy kierować się wymaganiami co do końcowego efektu. Stawianie strony-wizytówki na Joomla! to jak strzelanie z armaty do wróbla i przy okazji marnowanie swojego czasu – na WordPressie taką samą stronę w większości wypadków da się zrobić szybciej, bo pierwotnie był on kierowany do twórców tego typu witryn (ale jeżeli nadal twierdzisz, że „WordPress to CMS wyłącznie dla blogów” to jesteś w błędzie).

Stronę, która ma zawierać kilkaset widżetów/modułów przypisanych do różnych podstron w większości wypadków lepiej postawić na Joomla! – zarządzanie taką ilością bloków jest po prostu w niej wygodniejsze.

Jeżeli planujesz stronę wielojęzyczną Joomla! także może być lepszym wyborem – wielojęzyczność jest w nią wbudowana, a co za tym idzie – większość rozszerzeń także ją wspiera. Wielojęzyczność w WordPressie oznacza szukanie odpowiedniej wtyczki (albo instalację sieci blogów) i nadzieję, że autorzy pozostałych wtyczek tak je napisali, że będą z tą wtyczką od tłumaczeń pracować bez problemu – krótko mówiąc oznacza to trochę więcej kombinowania. Warto też uwzględnić to, że generowanie plików językowych w WordPressie jest bardziej uciążliwe, bo trzeba je odpowiednio skompilować przed użyciem.

Ogólnie im większa i bardziej rozbudowana strona tym większe prawdopodobieństwo, że bardziej wskazane będzie użycie Joomla! zamiast WordPressa – choć nie jest to regułą. Warto też  pamiętać, że większość zleceń to właśnie małe i proste witryny – być może stąd pochodzi ta ogromna przewaga popularności WordPressa nad Joomla!.

UI i UX

Gdyby porównywać panele administracyjne to WordPress zawsze był dla mnie ładniejszy i trochę bardziej przemyślany. Ale trzeba pamiętać, że panel Joomla! musi uwzględniać to, że pewne elementy będą występować w naprawdę ogromnych ilościach. W WordPressie np. zarządzanie widżetami jest fajne dopóki nie posiada się w motywie 30 paneli bocznych i kilkudziesięciu widżetów w nich.

Czysty panel Joomla! pod względem intuicyjności moim zdaniem zawsze będzie przegrywał z WordPressem, bo Joomla! po prostu oferuje mnóstwo funkcji, których domyślnie WordPress nie ma (wielojęzyczność, cache, ACL, przypisywanie modułów do podstron, archiwum wpisów, wbudowane formularze kontaktowe, linki itd.).

Dlatego kokpit WordPressa uchodzi za łatwiejszy w obsłudze bo poza bardziej przemyślanym UI jest po prostu dużo uboższy w kwestii oferowanych funkcji. Jeżeli tworzysz prostą stronę to jest to znacząca zaleta, która powinna skierować Cię w stronę WordPressa – mniej czasu stracisz na przyuczeniu jej przyszłych administratorów. Gdy zainstalujesz mnóstwo wtyczek to co najwyżej kokpit WordPressa będzie ładniejszy i będzie miał trochę udogodnień, które w Joomla nie istnieją lub są gorzej rozwiązane.

Jeżeli użytkownik wpakuje do WordPressa kilkanaście wtyczek – zwłaszcza takich, które ingerują w interfejs podstron kokpitu to z każdą taką wtyczką WordPress wykładniczo zbliża się do przekombinowania z jakim kojarzy się WordPressowym użytkownikom panel administracyjny Joomla. Główną kwestię na jaką warto zwrócić uwagę jest to jak bardzo istotny jest (na tle innych korzyści danego CMS-a) wygodny edytor wpisów – w tej kwestii WordPress jest lata świetlne przed Joomla!.

Tworzenie rozszerzeń

W temacie tworzenia motywów czy wtyczek – szczególnie tych prostych WordPress jest wygodniejszy. W zasadzie można stworzyć wtyczkę w postaci jednego pliku. W wypadku Joomla trzeba co najmniej pliku na kod PHP i pliku XML na opcje (ale przynajmniej odpada nam ręczna obsługa mechanizmu ustawień wtyczki). WordPress jest sympatyczny gdy musimy stworzyć prosty widżet z kilkoma opcjami, gorzej gdy musi on mieć ich dużo więcej – wtedy UI ekranu zarządzania widżetami staje się niefajny i trzeba rozważać wyrzucenie opcji na oddzielną podstronę albo okrojenie funkcji. W wypadku Joomla! dzięki oddzielnej podstronie na opcje każdego modułu możemy upchnąć dużo więcej ustawień.

Ogólnie najbardziej w Joomla! brakuje mi filtrów i identycznego mechanizmu akcji jak w WordPressie (owszem istnieją w Joomla! zdarzenia, ale czasem okazuje się, że ze względu na ich podział na różne grupy trzeba napisać kilka wtyczek by obsłużyć wszystkie potrzebne zdarzenia potrzebne do wykonania określonej czynności). I ten Bootstrap… ale to temat na osobny wpis, bo uważam, że to był największy błąd w historii Joomla!.

Natomiast w WordPressie najbardziej brakuje mi z Joomla! … w sumie to niczego na miarę akcji i filtrów, raczej drobnych rzeczy, które są związane z różnicami w domyślnie dostępnych funkcjach obu CMS-ów.

Warto pamiętać, że użytkownicy WordPressa i Joomla! mocno różnią się sposobem myślenia – dla WordPressowców im mniej dziwnych opcji tym lepiej, z kolei użytkownicy Joomla! z reguły lubią mieć opcję od każdej drobnej cechy modułu. Moim zdaniem tworzenie produktów na WordPressa jest wygodniejsze, bo jest mniej funkcji wbudowanych do obsłużenia, no i nie trzeba rozwijać produktu dla różnych wersji WordPressa, co ma miejsce w wypadku Joomla!.

Cykl wydawniczy i utrzymanie

Tak jak poprzednia część wpisu może świadczyć o pewnej przewadze WordPressa nad Joomla, tak obszar cyklu wydawniczego i utrzymania to zdecydowana dominacja WordPressa. Zacznijmy od tego, że twórcy Joomla! dopiero niedawno odkryli (a przynajmniej taką mam nadzieję, że to mieli na myśli), że w dzisiejszych czasach jedyna sensowna droga to krótszy cykl wydawniczy połączony z ewolucją a nie rewolucjami co 2-3 lata. Nie wiem czy w ogóle istnieje stwierdzenie „migracja WordPressa na wyższą wersje”, bo cały proces od długiego czasu jest w zasadzie bezproblemowy. W wypadku Joomla! migracja z 1.5 na 2.5  czy też z 1.5 na 3.3 nie jest tak sympatyczna i wymaga czasu – zwłaszcza, że rozszerzenia mają dedykowane wersje dla różnych wersji Joomla!. Jeżeli nie kręci Cię zarabianie pieniędzy na migrowaniu i dostosowywaniu stron do nowych wydań CMS-a, to Joomla! nie jest dla Ciebie.

Warto pamiętać, że wpływa to też na tworzone rozszerzenia – może się okazać, że rozszerzenie działające na Joomla! 2.5 wymaga gruntownego przepisania aby zadziałać na Joomla! 3.3.

WordPress w większości wypadków zapewnia święty spokój po opublikowaniu strony – aktualizacje są najczęściej bezbolesne. Jeżeli tworzysz rozszerzenia to nie musisz tworzyć oddzielnego kodu dla różnych wersji tak jak w Joomla!. Przy czym Joomla! jest uciążliwa przy aktualizacji dopiero wtedy gdy ma się dużo dodatkowych rozszerzeń – to one stanowią główny problem przy migracji.

Ekosystem

Z racji popularności logiczne jest, że więcej rozszerzeń znajdziemy dla WordPressa niż dla Joomla!. Jeżeli chodzi już o konkretne rozwiązania to będzie różnie – WooCommerce pod względem wygody użytkowania i jakości kodu niszczy VirtueMart, ale dla odmiany BuddyPress wygląda jak biedny kuzyn JomSocial.

Może się okazać, że o wyborze platformy zdecyduje konkretne rozszerzenie, którego funkcji nie da się łatwo odtworzyć na konkurencyjnym CMS-ie.

Szybkość

Na jednym z WordUpów w Krakowie były prezentowane wyniki pomiarów wydajności Joomla!, Drupala i WordPressa. O ile dobrze pamiętam czysty WordPress by ~2 razy wolniejszy od czystej Joomla! 3.x. Jest to różnica, która niektórym może przemawiać bardzo do wyobraźni, szczególnie uwzględniając różnice w dostępnej funkcjonalności, która też musi być przy wywołaniu strony obsłużona. Z drugiej strony te wyniki mogą się znacząco zmienić po włączeniu/zainstalowaniu cache.

Prawda jest taka, że możemy posiadać najszybszy na świecie CMS, a jedna źle napisana wtyczka to wszystko zepsuje.

Podsumowanie

Tak naprawdę ten wpis mimo swojej długości tylko delikatnie dotyka odpowiedzi na tytułowe pytanie. Osobiście uważam, że decyzja o zastosowaniu danego CMS-a wymaga dużego doświadczenia w korzystaniu z obu rozwiązań a czasem okaże się, że jeszcze inny CMS sprawdzi się lepiej.

Uważam, że użytkownicy Joomla! są w trochę lepszej sytuacji, gdyż wydaje mi się, że łatwiej będzie im zrozumieć WordPressa niż użytkownikom WordPressa będzie zrozumieć Joomla!.

Na niekorzyść Joomla! przeważa jej stale malejąca popularność – gdybym miał komuś początkującemu pomóc wybrać CMS wskazałbym WordPressa – realnie patrząc jest bardziej przyszłościowy i w większości wypadków wystarczy do zrealizowania projektów.