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.

Share on Facebook7Tweet about this on TwitterShare on Google+0Email this to someonePrint this page
  • Wojtek Równanek

    No brawo Dziudek!!! wreszcie jakiś sensowny tekst na ten temat, ale nie spodziewałem się po Tobie takiej faworyzacji WP 😉

  • Kasia Świderska

    No to Dziudku, pojechałeś po całości po Joomli 😀

    • PiotrPo

      Po Joomli nie da się nie pojechać. Słowo Joomla jest już pojechane :p

  • Czy ja wiem czy pojechałem po Joomla! ? Szczerze mówiąc bardziej zależało mi na wskazaniu w jakich przypadkach dany CMS jest lepszy, ale podejrzewam, że każdy fan danego CMS-a łatwiej dostrzeże we wpisie moje uwagi odnośnie konkurencyjnego rozwiązania 😉 Oczywiście obiektywnie patrząc WP sprawdzi się w większej ilości projektów.

  • Ja w Joomla nigdy nie mogłem zrozumieć ideai sztywnego podziału na sekcja/kategoria/wpis.

    • W Joomla 2.5 sekcje wywalili, ale fakt faktem do zaimplementowania innych struktur danych dodatkowy komponent jest niezbędny.

      • Mi zawsze wystarczał podział wpis i zwykła strona, które jak coś można pogrupować w kategorie. Więcej nigdy nie było mi nigdy potrzebne.

  • dobry tekst dzięks, choć liczyłem na bardziej „zestawieniową” wersję ale opis też ładny;)

  • Jeśli strona po skończeniu ma być zarządzana przez niedoświadczonego klienta to zdecydowanie UI WordPress’a sprawdzi się lepiej. W 100% zgadzam się z tym – „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!”

    Przy przesiadce WP » Joomla! ilość opcji konfiguracji, zarządzania modułami, menu itd. może być przytłaczająca…

    • Joomla ma dużo więcej opcji.. czy kolejny raz nie mamy do czynienia z zjawiskiem, że proste wypiera bardziej zaawansowane rozwiązania.

  • jjstok

    Skąd masz info o stale spadającej popularności Joomli? W Polsce nadal jest najpopularniejszym CMSem.

    • @jjstok – a skąd masz informację o tym, że Joomla! jest w Polsce nadal najpopularniejszym CMS-em? Może trzy lata temu można było tak wnioskować (patrz: http://antyweb.pl/joomla-krolem-polskiego-internetu-ale-wordpress-goni/# ), ale już wtedy wiarygodność tej informacji moim zdaniem była naciągana, bo duża część stron nie stoi na home.pl

      Ja bazuję na: http://www.google.com/trends/explore#q=joomla%2Cwordpress (statystyki światowe)
      i
      http://www.google.com/trends/explore#q=joomla%2C%20wordpress&geo=PL&cmpt=q (statystyki dla Polski)

      Oraz:

      http://w3techs.com/technologies/details/cm-joomla/all/all

      • Jeszcze w temacie informacji dotyczących popularności – na Facebooku grupa WordPress PL ma ~2850 członków, dla porównania największa grupa Joomla! Polska ma ~550 członków.

      • jjstok

        Dzięki za odpowiedź. Wydaje się to być naturalną tendencją, jednak więcej się stawia prostych stron niż rozbudowanych…

        Co myślisz natomiast o programowaniu zaawansowanych aplikacji? Joomla wydaje się być rozwojowa w tej kwestii. Obiektowość, API, Joomla Platform, teraz też pojawił się Framework on Framework, który jeszcze bardziej przyśpieszy pisanie kodu. Programowanie dla Joomli jest bardzo wygodne.

        Nie znam od tej strony WordPressa, ale z tego co wiem większość kodu jest proceduralna. Wydaje mi się, że ciężko w nim stworzyć jakąś większą aplikację bazadanową…

        • Odnośnie większych aplikacji bazodanowych wystarczy spojrzeć na WooCommerce – świetna wtyczka do tworzenia sklepu, która pod względem wygody użytkowania i jakości kodu daleko w tyle zostawia VirtueMart. Joomla rzeczywiście stworzona jest pod komponenty, gdzie zarządza się rekordami o określonej strukturze, ale WordPress nadrabia ten brak projektowy niesamowitą skalowalnością jakie oferują taksonomie. Chociaż jest granica w ich wykorzystaniu, po której przekroczeniu lepiej używać Joomla! – im bardziej złożony projekt tym Joomla! jest moim zdaniem bardziej wskazana.

          Natomiast Joomla z pewnością wygrywa w kwestii dostępności wbudowanych rozwiązań typu ACL – przy dużych aplikacjach to bardzo przydatny mechanizm, który w WordPressie jest, ale ciężko się z niego korzysta, bo nie ma żadnego rozbudowanego interfejsu do jego obsługi.

          Problemem Joomla! są zmiany w API – kiedyś słyszałem, że VirtueMart był prawie gotowy do wydania po czym okazało się, że zmiany w Joomla! 3.3 są tak duże, że spory kawałek komponentu był do przepisania.

          Podsumowując – zgodnie z tym co napisałem we wpisie – Joomla! prawdopodobnie lepiej się sprawdzi przy bardziej złożonych projektach, ale trzeba mieć na uwadze potencjalne problemy z aktualizacjami tego CMSa – prawdopodobnie dlatego ~45% stron na Joomla! korzysta z antycznej wersji 1.5.

          • jjstok

            Coś za coś. W WordPressie nie ma problemów z aktualizacjami, ale tak naprawdę jego kod „ugrzązł” w kodzie sprzed 10 lat trwając przy programowaniu strukturalnym. Jak dla mnie ACL to tylko dodatek, najważniejsza jest architektura MVC. To zmienia całe myślenie przy programowaniu i bardzo przyśpiesza pracę. Joomla to posiada. Osobiście wolę od czasu do czasu jakieś zmiany w API, które przynoszą nowe dobrodziejstwa PHP niż trwanie w starej technologii.

            Ciekawy wpis i komentarze na temat wordpressa jako frameworka: http://www.sitepoint.com/wordpress-framework/

          • Kod WordPressa w dużej mierze już wcale nie jest strukturalny – od dłuższego czasu nowe ficzery są dodawane w postaci kodu obiektowego. Nigdy mnie w WordPressie jego strukturalne naleciałości nie bolały. Nawet powiem więcej – to czasami duże udogodnienie, bo wielu wtyczek nawet nie ma sensu tworzyć obiektowo – czasem wystarcza jedna funkcja, która jest dodawana do filtra/akcji – podejrzewam, że gdybym miał do tego zaciągać architekturę MVC to by mi się odechciało tworzyć. Największą zaletą WordPressa jest to, że daje programiście wybór – nie ma narzuconych bootstrapów czy technik programistycznych – i osobiście mam wrażenie, że to jest lepsze rozwiązanie zamiast za każdym razem zaciągać do pracy coś co komuś się sprawdziło a nam niekoniecznie może się sprawdzić.

            Powiem wprost – taktyka rozwoju kodu Joomla jest po prostu na przegranej pozycji – co z tego, że grupce programistów jest wygodniej, skoro cierpi na tym reszta użytkowników skazana na ciągłe aktualizacje i migracje, które są często bardzo uciążliwe? I dodatkowo często cierpią też na tym developerzy rozszerzeń, bo muszą poświęcić dodatkowy czas na aktualizację kodu. Rozwijam rozszerzenia dla obu CMS-ów i po prostu skala upierdliwości Joomla w tym względzie w porównaniu do WP jest niebotyczna. Gdy w WP zmienił się wygląd kokpitu musiałem w module dodać co najwyżej kilkadziesiąt linijek kodu CSS, przy analogicznej zmianie w kodzie Joomla (przeskok na J!3.x) musiałem przepisać cały back-end modułu.

            Patrząc z większej perspektywy – w teamie Joomla najprawdopodobniej brakuje ludzi, którzy rozumieją skąd się bierze popularność pewnych rozwiązań – a bierze się ona z tego, że pewne rzeczy po prostu działają.

            I najgorsze jest to, że coraz częściej developerom kodu Joomla zdarzają się amatorskie błędy – chociażby problem po jednej z aktualizacji chyba J!3.2 po której niektórzy użytkownicy nie mogli się zalogować albo pojawiające się dzień po dniu wydania, bo ktoś czegoś nie sprawdził/przetestował.

    • PiotrPo

      W swojej firmie Joomlę zmienię na WP 🙂 A jest ich kilka.