Framework vs. CMS

Wat is het verschil tussen een CMS en een framework?

In dit artikel maken we een vergelijking tussen het inzetten van een CMS en het inzetten van een framework voor uw software project.
In mijn carrière heb ik vaak in overleg met de klant een keuze moeten maken tussen het inzetten van een CMS of een framework. Vaak keek de klant in kwestie mij dan vertwijfeld aan om vervolgens te vragen wat het verschil is.
In deze blog wil ik hier op ingaan zodat je na het lezen meer kennis hebt over de voor- en nadelen van beide opties.

Bij Blijnder werken we met het framework Laravel en het CMS Drupal. Wij zien in beide verschillende voordelen en nadelen. Er is dus nooit een absolute winnaar als het gaat om dit vraagstuk.

CMS

Waarschijnlijk heb je al wel van verschillende CMS’en gehoord. Bekende systemen zijn Drupal, WordPress, Joomla! & Unbraco. Als je voor een CMS kiest kan een ontwikkelaar dit binnen notime hebben draaien. Een goed CMS zorgt ervoor dat je de content van je website of web-applicatie kan beheren op een gebruikersvriendelijke manier.

Framework

Het framework is vaak toch wel favoriet als je het aan de programmeur vraagt. Dit heeft er mee te maken dat een programmeur graag zo veel mogelijk zelf ontwikkelt en de touwtjes in handen wil houden. Een framework geeft hem/haar hier de mogelijkheid toe, maar wel met heel veel hulpmiddelen om snel tot een eindproduct te komen.

We bouwen een huis met een CMS

Om een goed beeld van de verschillen te schetsen geef ik mijn klanten meestal de vergelijking met het bouwen van een huis.
Als jij (de software developer) een huis zou bouwen met een CMS is dit goed te vergelijken met het kopen van een splinternieuw totaal afgewerkt huis. Je kiest het CMS, laat het installeren, en het staat. (Als het een open source CMS is zoals Drupal of WordPress kost het je ook nog eens niets).
Zie in deze vergelijking het CMS maar als de projectontwikkelaar van je nieuwe huis en het huis als je applicatie. De projectontwikkelaar heeft bij het ontwerpen van het huis wel rekening moeten houden met de gemiddelde wensen van alle bewoners die dit type huis van hem kopen. Misschien sluit je daar redelijk bij aan.

Met een CMS krijg je een kant en klaar product wat je gaat aanpassen.

Het enige wat je zelf nog moet doen aan je huis is het verven of behangen. Maar wat als je toch grote of kleine afwijkende wensen hebt? Dan moet je zelf achter een aannemersbedrijf aan die de extra wensen voor je huis kan realiseren. Dit kost je meer tijd en geld en soms zijn je wensen ook niet eens goed mogelijk in je nieuwe huis. Ook moet je een aannemersbedrijf treffen wat kan samenwerken met je projectontwikkelaar.
Dit is dus de downside van het werken met een CMS. Ik raad dan ook aan om, als je voor deze keuze staat, goed na te denken over de wensen en of deze aansluiten bij het CMS. Als de kloof tussen je wensen en de mogelijkheden van het CMS niet te groot zijn, kan een CMS een heel goede keuze zijn.

Een huis bouwen met een framework

Als je een huis zou bouwen met een framework zou ik het anders beschrijven. Een framework kan je vergelijken met een mooie lap grond die heel geschikt is voor je huis. Daar omheen staan drie elektriciens, een loodgieter, vier bouwvakkers, twee schilders, een graafmachine, een kraan, en alle andere mensen en gereedschappen die je nodig hebt voor het bouwen van een huis. Dat heb je allemaal tot je beschikking. Daarbij komt nog dat je altijd een Hornbach en een Karwei om de hoek hebt voor als je toch iets mist.

Met een framework bepaal je alles zelf.

Je kunt iedereen instructies geven om je huis naar wens te realiseren. Je keuzemogelijkheden zijn zo uitgebreid dat je zelf de toiletpotten kunt kiezen die de loodgieter in zijn bus heet staan, of je laat die hele mooie van de Hornbach er in zetten. Waarschijnlijk is het al duidelijk: het ideale huis dat optimaal aan je wensen voldoet is op deze manier snel te realiseren. Je zult daarvoor wel alles zelf moeten aansturen en overal besluiten over moeten nemen. Dit gaat je tijd en energie kosten.

En zonder hulp een huis bouwen?

Zonder een CMS of een Framework is het bouwen van een huis heel onverstandig. Je moet dan zelf je verf maken en het varken van de buren kaal plukken om een kwast te maken van z’n haren. Arm varken. En dan heb je het al over de afwerking. In de eerste fase van de bouw heb je zelf een heimachine in elkaar moeten zetten…

Conclusie

Werken met een goed CMS is een goede keuze als je niet te specifieke eisen hebt of bereid bent om consessies te doen. Je kunt dan een aanzienlijk goedkopere oplossing realiseren.
Heb je echter heel grote plannen met je applicatie en stel je er hoge eisen aan? Moet je applicatie specifieke koppelingen hebben met andere systemen of moet alles heel schaalbaar zijn en wil je je flexibiliteit behouden? Dan kun je beter voor een goed framework kiezen.

@Blijnder – Drupal & Laravel

Blijnder werkt met het CMS Drupal en het framework Laravel.
We hebben de keuze voor Drupal gemaakt, omdat Drupal zelf op het framework Symfony is ontwikkeld. Drupal geeft dus als CMS iets meer mogelijkheden die we normaal gesproken alleen bij frameworks terugvinden.
Als we met een framework aan de slag gaan kiezen we voor Laravel. Laravel is op dit moment het meest gebruikte framework en dat is volgens ons niet voor niets. We combineren Laravel graag met Nova. Nova is een administrator panel builder voor Laravel. Hiermee kunnen we heel snel een beheer-tool realiseren en dat compenseert het gemis van een CMS.
#cms
#drupal
#laravel
#framework
#software
#symfony
#wordpress
Jonathan van Rij 05-15-2020

© 2020 Blijnder, Inc. All rights reserved.