Drupal 7 vs. Drupal 8 vs. Drupal 9 vs. Backdrop CMS
Drupal 7 vs. Drupal 8 vs. Drupal 9 vs. Backdrop CMS
Zvažujete, či prejdete na Drupal? Aké sú jeho výhody a aký je vlastne rozdiel vo verziách Drupalu? Platí, že čím vyššia verzia, tým lepšie? A čo je to vlastne ten Backdrop CMS?
Aj toto sú otázky, na ktoré sa pokúsime zodpovedať v tomto článku. Nezáleží, či ste vývojár, alebo Vás len problematika ohľadom web stránok zaujíma, alebo možno zvažujete použitie Drupalu na Váš najbližší projekt. Tento článok bude tak trochu pre všetkých.
Vymedzenie pojmov
O čom ktorý systém je, a prečo je ich toľko?
Drupal 7
Najrozšírenejší Drupal, na ktorom beží až takmer 600 000 webov po celom svete (údaje k apríl 2021). Tieto údaje však nie sú úplne blízko reality, nakoľko väčšina vývojárov vypína moduly zodpovedné za spätné reportovanie používania Drupalu na Drupal.org web. Vo výsledku sa teda taký web nezaradí do štatistík.
Faktom však je, že jeho pokrytie dlhodobo klesá a webov na Drupale 7 skôr ubúda, ako pribúda. Dôvodom je podstatne zložitejší Drupal 8 čo sa týka vývojového cyklu, čo odrádza ľudí od aktualizácie a častejšie radšej prejdú na inú platformu.
Drupal 7 však má perfektné pokrytie akéhokoľvek riešenia, aké v digitálnom svete potrebujete. Potrebujete malý a rýchly web s ohybným CMS systémom? Alebo robustný e-shop na mieru, ktorý zvládne aj 100 000 produktov bez toho, aby sa zapotil? Drupal je na to stavaný a zvládne aj jedno, aj druhé. Ako švajčiarsky nôž ktorý potrebujete v akejkoľvek situácii.
Ak máte problém, vždy existuje riešenie alebo modul, ktorý tento problém vyrieši. Jeho architektúra je pomerne jednoduchá a aj keď krivka učenia je strmá, akonáhle ovládate platformu otvárajú sa vám možnosti vytvoriť na webe prakticky čokoľvek za zlomok času, ktorý by ste potrebovali pri programovaní od základov.
Zároveň nie je "hlúpy", nenačítava všetky moduly pri každom načítaní stránky, nenačítava ani štýly či knižnice, ktoré práve nepotrebujete. To z neho robí rýchly systém sám o sebe.
Má pokrytie pre všetky technológie, ktoré ho môžu akýmkoľvek spôsobom rozvinúť, je rýchly a ohybný, no na dnešné pomery vývoja má už zastaralú architektúru. Koniec koncov vznikol v roku 2011 a vtedy boli trendy v programovaní inde.
Osobné skúsenosti:
Vyvinuli sme desiatky, ak nie stovky webov na Drupale 7. Jeho škálovateľnosť je gigantická, robili sme na ňom e-shopy s tisíckami produktov, live chat s miestnosťami, katalógy, objednávkové systémy, ale aj bežné prezentačné weby. Postupom času vývoj na Drupale 7 ide rýchlo, spočiatku však bola krivka učenia veľmi strmá a často sme strávili hodiny hľadaním odpovedí na zdanlivo jednoduché úpravy na webe.
Drupal 8
Vyšiel v roku 2015 a slúži ako administračná vrstva nad frameworkom Symfony 3. To z neho však robí skôr systém zameraný na vývojárov. Je vysoko škálovateľný a rozšíriteľný do neobmedzenej veľkosti. Zatiaľ čo v Drupale 7 si vedel aj zložitejší web s použitím rôznych rozširujúcich modulov prakticky vyklikať aj bežný človek, v Drupale 8 ak vyžadujete "niečo špeciálne", pravdepodobne nepochodíte bez programátorských znalostí.
To z neho robí systém ťažší na naučenie. Zároveň "zdedil" rôzne postupy z frameworku Symfony, a teda sa s ním pracuje podobne. Veľa modulov, hlavne tých zložitejších alebo s napojením na tretiu stranu vyžaduje inštaláciu cez Composer, čo je PHP-CLI aplikácia (Command Line Interface - systém, s ktorým sa pracuje cez príkazový riadok) na inštaláciu PHP balíčkov. Ten však ani zďaleka nie je štandardom vo sfére bežných hostingov a tak Drupal 8 skôr predpokladá inštaláciu na VPS či dedikovaný server. Môže byť však nainštalovaný aj na bežný hosting v prípade, že bol s touto myšlienkou nastavený aj vo vývojovom prostredí.
Osobné skúsenosti:
Vďaka znalostiam architektúry z Drupalu 7 bol prechod na Drupal 8 pomerne jednoduchý. Zároveň však chýba množstvo modulov, ktoré existovali na Drupale 7 a robili z neho ohybný systém z hľadiska editora stránok. V Drupale 8 totižto často musíme písať kód na veci, ktoré sa dali v Drupale 7 riešiť jednoducho cez UI systému. Jeho rýchlosť je porovnateľná a už v jadre obsahuje systém BigPipe, ktorý dynamicky načítava obsahové bloky po vykreslení stránky.
Twig templatový systém osobne vnímam ako krok späť, aj keď je veľmi populárny a používajú ho aj iné systémy.
Vo výsledku sa s ním ťažšie pracuje čo sa týka frontendu, vývoj modulov je zložitejší a celkový vývoj webu je zdĺhavejší a teda aj nákladnejší cenovo.
Zároveň je však ešte bezpečnejší a môžeme predpokladať jeho pokračovanie po dlhé roky dopredu.
Drupal 9
Na rozdiel od každej novej verzie Drupalu bol Drupal 9 vytvorený s myšlienkou pokračovania v Drupale 8 s aktualizovaním balíčkov, na ktorých Drupal 8 závisel. V praxi to znamená, že s veľkou aktualizáciou Symfony z verzie 3 na verziu 4 prišiel aj update Drupalu na Drupal 9. Rovnako bol odstránený kód, ktorý v cykle vývoja ostal navyše a už nebol používaný. Prakticky to nijako neovplyvňuje funkčnosť, ani rýchlosť celého riešenia.
Znamená to rovnako, že update Drupalu 8 na Drupal 9 je vecou jednoho príkazu v Composeri a update by mal byť hotový, pričom (s trochou šťastia) by sa nemalo nič pokaziť. Treba však dať pozor na kompatibilitu všetkých modulov.
Osobné skúsenosti:
Priamo s Drupalom 9 nemáme skúsenosti. Tým, že sa jedná prakticky o Drupal 8 čakáme s aktualizáciou webov na Drupal 9 kým to nebude nutné. Veľa modulov totižto nemá ešte podporu pre Drupal 9 kvôli nejakým funkciám, ktoré v 8 sú a v 9 už sú odstránené. Predpokladáme ale hladký prechod s Drupalu 8 na Drupal 9, nakoľko codebase je rovnaká.
Backdrop CMS
Drupal 7 si zachoval svojich fanúšikov a chce pokračovať ďalej, nakoľko sa s ním dobre a rýchlo pracovalo už zabehnutým vývojárom. Preto vznikol projekt Backdrop CMS, ktorý je prakticky kópia (fork) Drupalu 7 s rôznymi inováciami rovno v základnom jadre. Pracuje s myšlienkou udržateľnosti riešenia. Backdrop CMS nikdy nestratí podporu komunity a jeho bezpečnostné updaty budú vychádzať ešte veľmi dlho.
Zároveň slúži ako mostík medzi Drupalom 7 a 8, pričom si požičiava väčšinu kódu a princípov z Drupalu 7. Stavia do popredia rolu editora a jednoduchého "klikača stránok" nad rolu vývojárov. Chce teda uľahčiť celkovú prácu so systémom najmä tým, ktorí nechcú / nepotrebujú vedieť viac o bezpečnosti alebo vývoju modulov na mieru, pretože to proste nepotrebujú.
V základe obsahuje veľmi veľa vlastností, ktoré bolo treba do Drupalu 7 doinštalovávať ručne, čím odpadá práca navyše. Zároveň však treba rátať s tým, že zatiaľ neexistuje unifikované e-shop riešenie pre Backdrop CMS a že podpora komunity je malá, i keď dostupných modulov už sú stovky.
Osobné skúsenosti:
Už po nainštalovaní Backdropu je vidieť, že už v základe obsahuje veľmi veľa funkcionalít, ktoré bolo treba do Drupalu 7 doinštalovávať ručne. Zároveň sa zjednodušila jeho štruktúra priečinkov a aktualizácie sú podstatne hladšie ako na akomkoľvek Drupale (prebiehajú v prehliadači, vrátane jadra).
Štruktúra tém bola kompletne presunutá do systému Layoutov, takže vo výsledku v téme máte skutočne len to, čo sa týka samotnej témy.
Preklady sa naimportovali hladko, ale niektoré drobnosti sme museli doprekladávať ručne. Pokrytie modulov bolo dostačujúce. Ohromení sme boli rýchlosťou systému a veľmi sviežou odozvou.
Nevýhodou bolo odstránenie niektorých drobností, na ktoré sme ako vývojári boli zvyknutí v Drupale a v Backdrope nie sú, zvyčajne sa ale dali hravo doprogramovať.
Mám web na Drupal 7, čo s ním?
Zatiaľ vychádzajú aktualizácie na všetky 3 Drupal verzie (7, 8 aj 9) naraz. Teda všetky 3 verzie sú naraz vo vývoji. Na verzie Drupalu sa treba pozerať ako na vetvy toho istého systému, s rozdielnou architektúrou na pozadí, nie ako na upgrady.
Kým vychádzajú na Drupal 7 bezpečnostné updaty, nie ste v ohrození a nie je nutné zvažovať aktualizáciu na inú verziu ihneď.
V roadmape Drupalu však môžeme vidieť, že Drupal 7 aj 8 bude raz ukončený a pokračovať bude už len verzia 9, neskôr 10 a pod. (Nepíšem presný dátum, nakoľko chcem aby tento článok ostal aktuálny aj ak sa dátumy zmenia)
V tomto prípade sa oplatí počkať. Často sú moduly, ktoré boli dostupné na Drupale 7 ešte len vo vývoji pre Drupal 8 / 9 a v čase, keď bude nutná aktualizácia na novšie jadro už budú dostupné. Čo Vám môže ušetriť čas, či peniaze.
Chcem svoj Drupal aktualizovať, ako postupovať?
Ak ste sa rozhodli aktualizovať Váš web na najnovší systém, môžete tak urobiť. Musíte však zvážiť nasledovné:
- Veľkosť stránky - Jedná sa o malý web, alebo masívne riešenie s množstvom podstránok?
- Zvládnem aktualizáciu aj sám, alebo potrebujem na to odborníka?
- Majú všetky moduly, ktoré mám na starom webe podporu pre novší Drupal? Ak nie, existuje ekvivalent daného modulu?
Drupal má v sebe možnosť upgrade na novší systém (Modul Migrate), v prípade, že Váš web obsahuje len moduly, ktoré majú podporu pre novší systém, môžete hravo aktualizovať aj sám.
Často sa však stretnete so situáciou, kedy na aktualizáciu potrebujete odborníka, nakoľko je web priveľmi zložitý, či obsahuje moduly, ktoré už nie sú dostupné v Drupale 8 či 9. Ak je to Váš prípad, napíšte nám a zariadime upgrade za vás!
Páči sa mi Drupal 7 a chcem na ňom ostať, mám ešte nejakú možnosť?
Môžete vyskúšať zmigrovať na Backdrop CMS. Čakajú vás jednoduché aktualizácie a minimálne zmeny v systéme po celé nasledujúce roky, ako aj stabilita a rýchlosť. Rovnako však treba dať pozor na kompatibilitu modulov. Ak sú rovnaké moduly dostupné aj na Backdrop, migrácia je možná. Odporúčame však migrovať len stránky bez e-shop riešenia.