MMK

Plate vs Strapi

Deze pagina biedt je een vergelijking tussen het Multisite CMS van Plate en het Headless CMS van Strapi. De inhoud van deze pagina is opgezet met de kennis en ervaring van een developer die zowel het Plate CMS als het Strapi CMS kent en met beide platformen ontwikkelt.

Heb je opmerkingen of suggesties over de informatie en de inhoud van deze pagina? Neem contact op met Pieter Versloot via pieter@getplate.com. Laatst bijgewerkt op 8 juni 2022

Content beheren

Beide CMS-en hebben een gebruiksvriendelijke interface waarmee je direct je data kan modelleren. Dat betekent dat je geen database tabellen en eventuele zoekopdrachten (queries) hoeft op te bouwen. Strapi heeft als voordeel dat je data vanuit een punt kunt ophalen en tonen op meerdere platformen, bijvoorbeeld een mobiele applicatie, een website of andere kanalen. Plate heeft als voordeel dat de opbouw van het contenmodel volledig no-code gebeurt, zodat dit ook door een consultant gedaan kan worden.

Migraties database

Terugdraaien van een migratie in Strapi moet handmatig (door de developer) gedaan worden. Oftewel aanpassingen in de database worden niet uitgevoerd door Strapi. Dit kan betekenen, dat als je gebruik maakt van Strapi op meerdere omgevingen (test, stage, productie), er handmatig migraties overgezet moeten worden.

Hosting

Per project dient Strapi (tot nu toe) op een server gehost te worden. Het opzetten van een Strapi-omgeving brengt daarom kosten met zich mee en vraagt tijd van de developer in de setup. Plate is een hosted CMS waarbij Plate zorgt draagt voor de hosting van het CMS, het datamodel en de content en rekent daar een jaarlijkse licentie voor.

Autorisatie & verificatie

Strapi geeft je ook de mogelijkheid om bepaalde content types (in Plate heet het posts) te vergrendelen. Dit betekent simpelweg dat de vergrendelde data collecties alleen opgehaald kunnen worden door gebruikers met een bepaalde rol. Dit kan zelf ingericht worden met Strapi. Plate heeft een vergelijkbaar authorisatie en autothecticatie model waarbij je no-code je gebruikersbeheer samenstelt.

Internationalisering

Meerdere CMS-systemen hebben geen goede ondersteuning voor i18n (vertaling framework in Javascript). Dit ondersteunt Strapi uitstekend. In Strapi heb je de mogelijkheid om per content type vertalingen toe te voegen. Als je content invoert voor meerdere talen handelt Strapi de rest af. Het voordeel van Plate zit qua internationalisering aan de voorkant. De CMS gebruiker heeft de mogelijk om sites ook in andere talen te publiceren en daarnaast ook de individuele content wel of niet door te zetten. Het nadeel van Plate is dat het content model technisch in 1 taal wordt opgezet, de CMS beheerder voegt dus content toe in een beheeromgeving in één bepaalde taal.

Koppeling tussen front-end frameworks

Het verschil tussen Plate en Strapi is dat Strapi volledig headless is. Je kunt dus meerdere front-end frameworks aan het CMS koppelen. De meeste front-end frameworks kun je server side renderen (SSR). Dat houdt bijvoorbeeld in dat de website alle content van Strapi al heeft opgehaald voordat de client (eindgebruiker) de website benadert. Dit verkort de laad tijd enorm en zorgt voor een beter ervaring voor de eindgebruiker. Ook heeft het een voordeel voor het verbeteren van SEO resultaten. Houd in gedachte dat als je de keuze maakt voor een website om Strapi te gebruiken dat er in de meeste gevallen een front-end framework gekozen moet worden. Dit zorgt voor extra kosten omdat het framework ook gehost en onderhouden moet worden.

Plate heeft deze mogelijkheid op een 'decoupled' manier via de API. Het framework wat Plate nu voorschrijft, is een combinatie van HTML/CSS/Javascript en Liquid als scripting taal. Het voordeel is dat ieder template direct gehost is en dus multisite en multicontent direct en standaard beschikbaar is. Daarnaast is de gebruikte scripttaal Liquid 'low code'.

Documentatie

Strapi heeft een rijke API documentatie voor de developers. Bepaalde data stukken ophalen gaat heel gemakkelijk zonder enige 'workarounds'. Alles is erg duidelijk aangegeven en overal staan er voorbeelden hoe je iets moet aanroepen. Erg handig voor de developers. Bij Plate is iedere functie goed gedocumenteerd alhoewel de structuur en begeleiding in de documentatie beter kan. Wel is er een sterke community die via de Slack benaderd kan worden en snel reageert.