9

Jij wilt een website laten bouwen? Dan is het belangrijk dat je van te voren bepaalt welke oplossing hiervoor wordt gebruikt. Je wilt een oplossing die genoeg mogelijkheden biedt om jouw wensen te kunnen vervullen, maar het moet vooral ook niet te lastig zijn om te onderhouden en de kosten wil je zoveel mogelijk beperken. De meesten van jullie zijn waarschijnlijk wel bekend met kant-en-klare oplossingen zoals WordPress, een veel gebruikt CMS. Zeer gebruiksvriendelijk, maar voor complexere websites soms toch niet toereikend. Een goed framework als Laravel biedt dan wel uitkomst. In dit artikel vertellen we je meer over de voor- en nadelen van zowel WordPress als Laravel. Wanneer kies je nou voor welke oplossing?

Wat is een CMS?

Een CMS (Content Management System) is een systeem dat je in staat stelt om eenvoudig content van een website te beheren zonder dat daar al te veel technische kennis voor nodig is. Het is een klant-en-klare oplossing en wordt vaak ingezet voor marketing- en nieuwssites en blogs. Er zijn tal van plugins beschikbaar waarmee je de functionaliteit van het CMS kan uitbreiden zodat het een uitgebreide bedrijfswebsite of een volwaardige webshop wordt.

Het CMS WordPress


wordpress-logoWordPress
 bestaat sinds 2003 en kan een echte oldtimer genoemd worden. Het is al jaren het populairste CMS. Wel 25% van alle websites draait er op. De kern is in jaren nauwelijks veranderd, maar wordt wel goed onderhouden. WordPress staat bekend om zijn plugins. Regelmatig hoor je iemand zeggen: “Daar is vast wel een plugin voor?!”. En die zijn er zeker, meer dan 40.000 plugins zijn er om de kern uit te breiden. De kern vervangen kan echter niet, dit is een belangrijk detail om te onthouden.

Wat is een framework?

Een framework is een verzameling van tools waar je gebruik van kunt maken tijdens de bouw van een website of applicatie. Je kunt het vergelijken met de bouw van een huis. Tijdens de bouw maak je gebruik van machines en onderdelen van derden. Een framework biedt je deze machines en onderdelen. Denk aan het bouwplan, de hijskraan, het frame en de bakstenen. Op deze manier kan je snel en veilig jouw eigen droomvilla in elkaar zetten met de onderdelen die je zelf kiest!

Het framework Laravel

Laravel wordt al een aantal jaar met liefde door ons ingezet en is terecht verkozen tot beste framework van 2015:

php_framework_popularity_at_work_-_sitepoint2c_2015

Het biedt de programmeur een hele set aan tools voor het bouwen van een website. Het selecteren van deze tools is de kunst van het bouwen. Je voorkomt dat het wiel opnieuw wordt uitgevonden zodat je je kunt richten op de unieke onderdelen van een website. Laravel is gebouwd op het Symfony 2 framework, is breed inzetbaar en biedt 9000 packages (“plugins”). De code volgt eigentijdse richtlijnen en laat het toe om zelfs de kern aan te passen. Sterker nog, je zou zelfs met Laravel een CMS kunnen bouwen. Na een installatie van Laravel heb je echter nog niets, je kunt geen content publiceren, je kunt geen data aanbieden, niets. Dit in tegenstelling tot een CMS.

The right tool for the job

r6sjksb

Wanneer maak je gebruik van WordPress en wanneer zet je Laravel in? WordPress fanatiekelingen beweren dat je er alles mee kunt, omdat ‘er overal een plugin voor te vinden is’. Laravellers genieten van een degelijke constructie, snelheid en vrijheid en gebruiken packages (=plugins) indien nodig.

Welke oplossing is beter?

Beide zijn goed! Eigenlijk vergelijk je appels met peren. Toch kan je beide oplossingen inzetten om je doel te bereiken. Soms is de één daarvoor meer geschikt dan de ander en daarom moet je per project kijken wat er nodig is en zo een afgewogen keuze maken. Er is helaas geen gouden regel, maar er zijn wel een aantal factoren die deze keuze kunnen beïnvloeden:

  • Complexiteit: is het project een complex systeem zoals Facebook, of moet er een bedrijfswebsite komen met veel content? Kies voor Laravel als je een complexe applicatie bouwt. Neem WordPress als de site gericht is op veel content.
  • Startpunt: in hoeverre wijkt het project af van de basisfunctionaliteit die WordPress of Laravel biedt? Hoeveel moet er daarnaast ontwikkeld worden? Welke oplossing geeft je de grootste voorsprong? WordPress biedt je tal van plugins. Probeer ze uit, zoek naar de juiste en omarm ze. Plugins laten zich niet makkelijk aanpassen, dus wees tevreden met wat je krijgt, dat scheelt echt in de kosten. Laravel biedt je tal van packages. Net als bij WordPress is er overal wel een package voor te vinden. Deze packages laten zich over het algemeen eenvoudiger aanpassen dan de plugins in WordPress. Ook hier geldt dat het zoeken naar een juiste package tijd en geld kan schelen.
  • Behoefte / ervaring: vaak hebben de gebruikers van de website ook een mening over de keuze van een CMS. Logisch, want ze hebben vaak al ervaring opgebouwd met WordPress of Drupal (ook een CMS) en dat kan de keuze beïnvloeden. Sta in dat geval wel open voor alternatieven, ga niet blind af op wat iemand bij de lift tegen je zegt over een framework of CMS. Laat je goed voorlichten.
  • Tijd: een zeer belangrijke factor is de tijd waarbinnen het project gerealiseerd moet worden. Wat zou de ontwikkeltijd zijn bij het gebruik van WordPress en hoeveel bij Laravel? WordPress geeft je tijdens de start van een project een grote voorsprong omdat het kant-en-klaar is, maar aanpassingen kosten soms wat meer tijd dan bij Laravel. Met Laravel start je met niets, maar het laat zich makkelijker aanpassen naarmate het project vordert vanwege de solide bouw.
  • Snelheid/schaalbaarheid: is de snelheid van het systeem belangrijk en kan dit eenvoudig worden geschaald? Zowel WordPress als Laravel hebben hier verschillende middelen voor, al heeft Laravel de meeste vrijheid (Lumen, Redis, Varnish) en schaalt dit het makkelijkst. Bij het laden van een gemiddelde WordPress site wordt de database zo’n 50 keer aangesproken terwijl je met een framework begint op 0 en meestal met 10 calls klaar bent. WordPress in combinatie met bijvoorbeeld WooCommerce wordt na verloop van tijd echt stukken trager. Caching oplossingen zijn dus echt noodzakelijk en lossen in de meeste gevallen veel op.
  • Flexibiliteit: hoe moeilijk is het om aanpassingen door te voeren, kan het systeem makkelijk worden uitgebreid of voelt een aanpassing als slopen en pleisters plakken? Denk aan de cost of change. Vaak voldoet een WordPress plugin net niet helemaal en kost een kleine aanpassing veel tijd omdat de plugin van een andere partij af komt. Laravel is hier makkelijker in, alles is mogelijk.
  • Thema’s: WordPress is echt superieur als het gaat om kant-en-klare uit te kiezen thema’s. Deze zijn tegenwoordig zo mooi dat je de site alleen hoeft te vullen. Neem een kijkje op: https://wordpress.com/themes en je krijgt gelijk zin om jouw eigen content te plaatsen. Laravel biedt hier niets tegenover.
  • Prototyping: is het ontwerp al vanaf dag 1 bekend of wordt er tijdens het bouwen steeds iets verzonnen en uitgeprobeerd (agile, scrum)? Laravel leent zich beter voor het laatste. Het stuurt de programmeur tot het modulair opzetten van testbare kernonderdelen waardoor de gevolgen van een aanpassing aan het systeem te overzien zijn. WordPress geeft minder sturing om dit solide op te zetten.
  • Platform: op welk platform moet de data worden ontsloten? Laravel is uitermate geschikt om API’s (Application Programming Interface) mee op te zetten. Het kan vrij eenvoudig de cloud van mobiele applicaties zijn. Je kunt de data overal mee verbinden. WordPress verliest hier wat terrein, maar komt hopelijk dit jaar nog met een totaaloplossing zodat ook de custom plugin data goed te raadplegen is in een API.

Voorbeelden

Solidoe

blog_solidoe

We zijn met Solidoe Kinderopvang een traject begonnen om de website te vernieuwen en deze staat inmiddels live: solidoe.nl. De site staat vol met content over opvanglocaties en praktische informatie. Het bevat ook een nieuws gedeelte en het is mogelijk om je in te schrijven op een vestiging. Voor deze site hebben wij WordPress ingezet. WordPress gaf ons de grootste voorsprong omdat (bijna) alles standaard met de juiste plugins te realiseren was. Hierdoor bleef er tijd over om hoog in te zetten op de merkbeleving!

Ezelsbruggetje

ezelsbruggetje

Voor ezelsbruggetje.nl hebben wij de complete website vernieuwd en een hybride app gemaakt. Wij hebben Laravel ingezet voor het beheer van de data. Via een API wordt deze data door de site zelf en apps op de telefoon geraadpleegd. Hiervoor wil je geen WordPress gebruiken. Het is een typische Laravel toepassing, aangezien Laravel ideaal is voor het opzetten van API’s en een range aan packages biedt voor het inloggen met social media. De app heeft ook de mogelijkheid om een ezelsbruggetje op te slaan als afbeelding. Ook deze functionaliteit is goed te bouwen in Laravel. In de toekomst wordt het wellicht mogelijk om de data aan te bieden op andere websites in de vorm van widgets!

De Buurtboerblog_buurtboer

Voor de Buurtboer hebben wij een nieuwe site gerealiseerd in WordPress. De keuze om WordPress in te zetten was snel gemaakt: de site bevat veel content en een compleet blog. De bestellingen worden beheerd in een CRM pakket, genaamd de Buurtbase. Voor dit systeem hebben wij juist Laravel ingezet. Het voorziet de gebruiker van mogelijkheden om lunches te plannen via complexe berekeningen. Er zijn koppelingen met externe betalingspakketten en mailplatformen voor de facturatie. Een complex systeem, dus Laravel bood uitkomst.

Conclusie

De keuze tussen WordPress of Laravel (CMS vs. framework) is niet eenvoudig. WordPress geeft je echt een voorsprong als het gaat om veel content. Het heeft daarnaast enorm veel plugins die de functionaliteit van de website uitbreiden. Er zijn volop thema’s te vinden en de ondersteuning is wereldwijd enorm. Je bent met WordPress vaker aan het configureren dan aan het programmeren. Zodra er echter flink geprogrammeerd moet worden kan je wel eens tegen de grenzen van WordPress aanlopen. In dat geval biedt Laravel uitkomst. Je start weliswaar met veel minder, maar de vrijheid die je er voor terugkrijgt is echt een groot voordeel. En met behulp van duizenden packages kan je sneller bouwen en jouw content aanbieden op elk platform.

Beide oplossingen zijn perfect in wat ze doen. Zorg ervoor dat je weet wat je inzet en wat de gevolgen en verwachtingen zijn bij de keuze tussen WordPress of Laravel. Wanneer je met ons een traject aangaat bespreken we van tevoren altijd goed wat de wensen zijn en kiezen we aan de hand daarvan voor de juiste oplossing. Zo voorkomen we teleurstellingen op het moment dat gemaakte keuzes eigenlijk niet meer terug te draaien zijn.

Van gedachten wisselen over een nieuw idee of een offerteaanvraag?