In 2018 schreef ik een blog over het CMS dat ik zelf had ontwikkeld. Een jaar eerder, in 2017, begon ik als zelfstandige en één van mijn doelen was dat al mijn klanten – zowel bestaande als toekomstige – gebruik zouden maken van mijn eigen content management systeem.
Inmiddels zijn we zeven jaar verder. Vrijwel al onze klanten werken inmiddels met dit CMS, en in de tussentijd heb ik voortdurend geprobeerd nieuwe technieken toe te passen waar dat zinvol was. Sommige technologische ontwikkelingen vroegen echter om een fundamenteel andere benadering. Daarom ben ik in 2022 begonnen met de ontwikkeling van een volledig nieuw systeem: KikCMS 2.
Waarom deze stap? Omdat het nieuwe CMS uit twee gescheiden onderdelen zal bestaan: een User Interface (UI) en een API. Deze scheiding maakt het mogelijk om de modernste technologieën in te zetten, en daar profiteren zowel wij als onze klanten van. Hieronder leg ik uit welke technieken we gebruiken en wat de voordelen daarvan zijn.
CMS User Interface
De 'UI' betreft de gebruikersinterface van het CMS. Deze wordt opnieuw opgebouwd met Vue 3, een modern JavaScript-framework dat bekendstaat om zijn reactive eigenschappen. Dankzij de brede adoptie van Vue 3 is er een grote community beschikbaar, wat het gemakkelijker maakt om ondersteuning te vinden en nieuwe developers aan te trekken.
Daarnaast maken we gebruik van Vuetify, een UI-framework dat specifiek is ontworpen voor Vue. Dit versnelt de ontwikkeling en zorgt voor een consistente en professionele uitstraling.
Een groot voordeel van deze nieuwe aanpak is de verbeterde testbaarheid van de interface. In het oude CMS was het testen van functionaliteiten complex en traag, omdat het volledige systeem moest worden gesimuleerd via een virtuele browser. Met Vue kunnen we onderdelen onafhankelijk van de backend testen. Dit maakt de tests niet alleen sneller, maar ook betrouwbaarder én makkelijker te onderhouden.
Kortom: nieuwe functionaliteiten kunnen sneller, stabieler en met meer zekerheid worden uitgerold.
CMS API
Het CMS moet natuurlijk ook gegevens opslaan, zoals pagina-inhoud en gebruikersdata. Hiervoor bouwen we een nieuwe API in PHP, gebaseerd op het moderne en krachtige Symfony 7 framework.
Waar we in het huidige CMS gebruikmaken van Phalcon vanwege de performancevoordelen, biedt Symfony 7 vandaag de dag vergelijkbare snelheid, met als bijkomend voordeel een veel grotere community en een bredere ondersteuning. Dit betekent minder afhankelijkheid van specifieke hostingproviders en meer vrijheid in onze technische keuzes.
Bovendien introduceert Symfony een aantal handige tools en automatiseringen die ontwikkeltijd besparen en de code onderhoudbaarder maken.
Een andere belangrijke ontwikkeling die we benutten is de verbeterde ondersteuning van JSON-data in databases. Dit maakt het mogelijk om flexibelere datastructuren te gebruiken en vermindert de behoefte aan extra cachinglagen of complexe code.
Statische Hosting
Een geheel nieuwe functie in KikCMS 2 is de mogelijkheid om pagina’s vooraf statisch te genereren. Dit betekent dat pagina’s grotendeels zonder server-side berekeningen of databaseverbindingen geladen kunnen worden. Het resultaat? Snellere laadtijden, lagere serverbelasting en betere prestaties bij hoge bezoekersaantallen.
Brede Toepasbaarheid
Ons CMS is niet alleen een tool om content te beheren. Het vormt de basis van vrijwel alle webapplicaties die we ontwikkelen. Denk aan projecten zoals KikFit en KikSport – online platforms die administratieve processen uit handen nemen voor gewichtsconsulenten en tennisscholen. De flexibiliteit van het nieuwe CMS maakt het mogelijk om dit soort oplossingen sneller en schaalbaarder te bouwen.
Conclusie
De ontwikkeling van KikCMS 2 markeert een belangrijke stap in de toekomst van ons werk. Door moderne technologieën zoals Vue 3, Symfony 7 en statische hosting te combineren, creëren we een platform dat sneller, stabieler en makkelijker uitbreidbaar is. Niet alleen voor contentbeheer, maar ook als fundament voor webapplicaties op maat.
Met KikCMS 2 leggen we een stevig fundament voor de komende jaren – een toekomst waarin we sneller kunnen innoveren, makkelijker kunnen groeien en onze klanten nog beter kunnen bedienen.