Overslaan en naar de inhoud gaan

Nu naar Drupal 7 of wachten op 8?

Drupal 8 staat om de hoek. Even wachten? Of toch voor 7 kiezen?

Fork in the road

Wie er op dit moment aan denkt om een nieuwe Drupal website te bouwen vindt zichzelf voor een tweesprong.

Wil je het nieuwste van het nieuwste, en wacht je nog even op Drupal 8? Of kies je voor de zekerheid van Drupal 7?

Technologisch utopisme

Als het op technologie aankomt is nieuwer altijd beter, sneller, robuuster en efficiënter. Tenminste, dat is wat het stemmetje in ons achterhoofd ons wijsmaakt. Dit stemmetje is niet altijd even rationeel en wordt gevoed door allerlei positieve connotaties die wij met vooruitgang hebben. Die connotaties zijn vaak wat overdreven, bijna net niet zo overdreven als de negatieve associaties die we kunnen hebben met stilstand en achteruitgang.

Marketingcampagnes spelen hier slim op in. We worden dan ook emotioneel aan twee kanten aangevallen op het moment dat er een nieuwe telefoon of laptop op de markt verschijnt. Aan de ene kant is er de verleiding van het nieuwe met de belofte van een betere toekomst met allerlei handige en onmisbare functies. Tegelijkertijd is er de (indirecte) boodschap dat datgene wat je nu bezit niet meer voldoet.

De enige manier om je te wapen tegen dit zogenaamde technologisch utopisme, het idee dat vooruitgang ons kan verlichten, is de feiten op een rij zetten en emoties buiten de deur.

Heb ik Drupal 8 nodig?

De eerste vraag die je je dan moet stellen is: heb ik de nieuwe functies van Drupal 8 (op termijn) echt nodig? Het antwoord is "ja" indien je een complexe enterprise website gaat bouwen, die verbonden moet worden met externe applicaties via een API. Met name wanneer dit moet gebeuren in real-time, dat wil zeggen, als je niet wilt dat een pagina onnodig in haar geheel opnieuw wordt geladen op het moment dat er interactie heeft plaatsgevonden tussen de gebruiker en de website.

Oftewel, zou je je website meer beschrijven als een applicatie dan een website, dan is zou ik zeker de mogelijkheden van Drupal 8 onderzoeken. Daar komt bij, dat tegen de tijd dat een dergelijk project is afgerond, Drupal 8 vermoedelijk al in de stabiele fase verkeerd, evenals de belangrijkste modules. 

Natuurlijk bevat Drupal 8 ook verbetering op het gebied van usability, responsive design, etc., maar veel van deze zaken zou je via een module ook aan Drupal 7 kunnen toevoegen. Drupal 7 heeft standaard ook al een goede API waarmee je haar gemakkelijk op andere platformen kunt aansluiten. Het grootste verschil is dat de onderliggende code bij Drupal 8 net even wat completer is en logischer over komt op de programmeur die nog nooit met Drupal heeft gewerkt.

Backdrop?
Onlangs is er een Drupal 7 fork genaamd Backdrop aangekondigd. De bedoeling is dat deze fork gaat voortbouwen op de architectuur en API van 7, maar de features van 8 zal implementeren. Zeg maar Drupal 7.5. Het is nog te vroeg om te zeggen of deze fork voldoende bijval krijgt, maar het is zeker goed om deze ontwikkeling in de gaten te houden.

Nog niet bekend met Drupal?

Onder de kap is Drupal 8 behoorlijk veranderd ten opzicht van Drupal 7, vooral het gebruik van object georiënteerd programmeren en Symfony dragen hieraan bij. Mocht jij (of jouw team) nog niet bekend zijn met Drupal dan is het waarschijnlijk verstandiger om je gelijk op Drupal 8 te storten. Zo voorkom je dat je niet eerst een hoop tijd en energie steekt in Drupal 7 en  vervolgens opnieuw investeringen te moeten doen op het moment dat de overstap naar Drupal 8 of 9 wordt gemaakt.

Drupal 8 is door het gebruik van moderne code standaarden een stuk toegankelijker geworden voor nieuwelingen. Voor Drupal 7 programmeurs daarentegen,  wordt het wel even slikken. Zij zullen voortaan iets meer tijd kwijt zijn in met het bouwen van nieuwe modules door de extra laag van complexiteit die de object georiënteerde structuur met zich mee brengt. Ook zal de toegenomen complexiteit tot een stukje performance verlies leiden.

Het voordeel is dat de code naderhand wel een stuk makkelijker te beheren en aan te passen is. Ook kunnen grote stukken code gemakkelijker hergebruikt en uitgewisseld worden. Daarnaast slaat Drupal 8 configuraties op in bestanden die je vervolgens van je productie omgeving naar de live kunt kopiëren zonder dat je de hele database op de live site hoeft te overschrijven. Op de langere termijn is Drupal 8 dan ook de meest productieve keuze, zeker indien er een hoop custom code geschreven moet worden.

Tijdsframe van productiviteit

De Gartner Group, een bedrijf dat technologieen analyseert, merkte op dat nieuwe technologie technologiën vaak een opwaartse golfbeweging meemaken in de receptie, een zogenaamde Platue of productivity. Het blijkt dat een technologie vrijwel altijd door een periode van "Trough of Dissillusionment" gaat, een fase waarin de hoge verwachtingen kennismaken met de realiteit.

Op de hoogte blijven? Schrijf je dan in op onze nieuwsbrief

Drupal 7 heeft deze fase zeker gekend. Beheerders van modules waren de eerste maanden terughoudend in het snel aanpassen van hun code, wat maakte dat 7 maar langzaam op gang kwam. Inmiddels kun je stellen dat 7 in het stadia van productiviteit verkeerd. Dit maakt haar op dit moment een veilige keuze om mee in zee te gaan, het aanbod van modules en distributies is breed en stabiel.

Grafiek van de Platue of Productivity

Het is nog even afwachten hoe snel Drupal 8 wordt opgepikt. Toch kun je voorzichtig stellen dat Drupal 8 een minder lange aanloop zal kennen. Hier zijn een aantal redenen voor te noemen:

  • Ten eerst omdat module maintainers, met de lessen van Drupal 7 in het achterhoofd, nu actiever worden betrokken bij de ontwikkeling.
  • Ten tweede omdat Drupal 8 out-of-the box weer een stuk meer kan. Zo is er een goede editor aan boord, maakt de Views module (één van de populairste en krachtigste Drupal 7 modules) deel uit van de core en zijn veel functies van Panels en Display Suite overgenomen in de standaard interface.
  • Ten derde omdat Drupal 8 een nieuwe aanwas van programmeurs zal aantrekken dor het gebruik van moderne standaarden in de code.
  • Tot slot zal de userbase ook sneller toenemen doordat Drupal 6, ook wel de Windows XP onder de Drupal versies genoemd, met de release van Drupal 8 niet meer officieel ondersteunt zal worden. Een (groot) deel van de Drupal 6 gebruikers zal ervoor kiezen om Drupal 7 over te slaan en gelijk over te stappen op Drupal 8.

Lange Termijn Support (LTS)

Een laatste punt om mee te nemen in de overweging, is dat het Drupal team traditioneel gezien support verleent (security updates voor de core) aan de huidige versie en die daarvoor. Oftewel, op het moment dat de eerste stabiele Drupal 8 versie uitkomt vervalt direct de support voor Drupal 6 websites. Dit is niet direct reden voor paniek aangezien in het verleden is gebleken dat het risico op veiligheidsproblemen zeer laag blijft (een websites met gevoelige gegevens moet het hier natuurlijk niet op aan laten komen).

Blijvende support updates voor Drupal 6?
Wellicht dat er nog betaalde of vrijwillige support zal worden geboden voor Drupal 6 via een community initiatief, hoewel de kans hierop niet al te groot is. Voor meer informatie hierover lees: https://groups.drupal.org/node/291243

Voor Drupal 7 betekent dit, dat ze nog support geniet totdat Drupal 9 officieel zal worden uitgegeven. Drupal 7.0 werd uitgebracht op 5 januari 2011. Ervan uitgaande dat Drupal 8 op zijn vroegst ergens aankomende maand wordt aangekondigd zit er tussen Drupal 7 en 8 een periode van 3 jaar en 9 maanden. Tussen Drupal 6 en 7 zat een periode van net geen 3 jaar. Het ligt dus in de lijn der verwachting dat Drupal 7 nog tussen de 3 1/2 à 4 jaar op support kan rekenen. Die lijn doortrekkende kan Drupal 8 nog zeker 7 à  8 jaar mee.

Of 3 1/2 jaar lang of kort is hangt uiteraard af van het type website. Voor een complexe website die eerst een jaar in aabouw is, blijft een relatief korte productieve periode over. Voor een website met een ontwikkelingstijd van enkele maanden is dit zeker lang genoeg. Gemiddeld genomen gaat een corporate website pakweg 2 tot 3 jaar mee.

Slot

We raden zeker niet af om te wachten op Drupal 8, integendeel! Maar wees je er wel goed bewust van dat een open-source product een tijdje nodig heeft om te rijpen. Inmiddels heeft de Drupal community en het core team de nodige ervaring opgebouwd op het vlak van nieuwe releases en verwacht ik dat Drupal 8 minder tijd nodig zal hebben om op het niveau van Drupal 7 te komen wat betreft stabiliteit en module aanbod. Het helpt bij de adoptie van Drupal 8 zeker dat ze out-of-the-box weer een stukje completer is geworden, met de nodige modules die (gedeeltelijk) naar de core zijn verplaatst zoals Views, Panels en CKEditor.

Voor een standaard corporate website met een looptijd van rond de twee jaar blijft Drupal 7 misschien wel de beste keuze. Voor projecten met een lange ontwikkelingstijd is Drupal 8 waarschijnlijk een betere optie. Met name als je een applicatie-achtige website gaat bouwen die gebruik maakt van vooruitstrevende nieuwe technieken biedt Drupal 8 net even een wat modernere basis. Zeker wanneer je voor of na de oplevering een programmeur of een heel team op de website gaat zitten, dien je er rekening mee te houden dat Drupal 8 toegankelijker is voor programmeurs die nog niet bekend zijn met Drupal.

Ben je het niet met mij eens of heb je nog vragen / toevoegingen? Laat het hieronder weten.

Heb je iets aan deze content gehad? Laat weten hoe je ons waardeert.

Meld je aan voor onze nieuwsbrief

En je ontvangt net als 2321 andere leden een overzicht van onze nieuwste artikelen. Met onderwerpen als; de laatste webdesign trends, SEO tips, conversie optimalisatie, Joomla, Drupal en Wordpress ontwikkelingen.

Reacties

Symphony moet zijn Symfony. Link klopt wel.

Standaard avatar Anoniem 30.01.2014 - 15:40

Onder de kap is Drupal 8 behoorlijk veranderd ten opzicht van Drupal 7, vooral het gebruik van object georiënteerd programmeren en Sympony dragen hieraan bij.

Moet daar niet Symfony staan?

Standaard avatar Erik 23.06.2014 - 08:51

Als antwoord op door Erik

Je hebt gelijk. Ik heb het aangepast.

Standaard avatar rroose 24.06.2014 - 10:23

Beperkte HTML

  • Regels en alinea's worden automatisch gesplitst.