No code, low code en high code: welk ontwikkelplatform past het beste bij jouw nieuwe applicatie?

In plaats van standaard softwarepakketten kiezen organisaties steeds vaker voor applicaties op maat om business processen efficiënter, soepeler en gebruikersvriendelijker te laten verlopen. Voor het ontwikkelen van dergelijke applicaties heb je keuze uit een groot aantal platformen. Grofweg onderscheiden we drie categorieën: no code platformen, low code platformen en high code platformen. In dit blog ga ik wat dieper in op de verschillen en de voor- en nadelen van no code, low code en high code. Wat kun je er precies mee? Kun je er zelf mee aan de slag of heb je developers nodig? En welk ontwikkelplatform is het beste geschikt voor welke toepassing?

No code

Met een no code platform kunnen snel, relatief voordelig en zonder dat er veel kennis voor nodig is (simpele) applicaties worden ontwikkeld. No code platformen zoals BettyBlocks zijn daarom populair onder zogeheten ‘citizen developers’: mensen zonder specifieke programmeerkennis die je eerder tegenkomt op een business-afdeling dan op een IT-afdeling.

No code platformen zijn ideaal voor het ontwikkelen van niet al te complexe applicaties voor intern gebruik. Bijvoorbeeld: een simpel CRM-systeem of een applicatie voor het koppelen van formulieren aan achterliggende tabellen en datastromen. En ook een applicatie om een leadlijst met verschillende rollen en rechten (zoals inzien of inzien en bewerken) mee bij te houden kun je prima met een no code platform maken. Normaal gesproken zou je dit soort data in Excel beheren, maar als je ze in een simpele applicatie centraliseert krijg je er meer grip op. Kortom: voor eenvoudige (interne) toepassingen is no code een prima oplossing.

Low code

Ga je een stap verder, dan kom je uit bij low code platformen. Hiervoor heb je al wel de nodige kennis nodig. Low code is dan ook vooral geschikt voor zeer handige citizen developers en (uiteraard) voor échte developers. Voor onervaren gebruikers is low code al snel te complex. Low code platformen zoals Mendix en OutSystems (om er maar een paar uit het brede aanbod te noemen) bieden veel meer mogelijkheden dan no code systemen. Toch weet lang niet iedereen al die mogelijkheden optimaal te benutten. De meeste mensen kunnen bijvoorbeeld vrij eenvoudig werken met meerdere variabelen en kleine logische formules, vergelijkbaar met optellen en vermenigvuldigen in Excel. Maar bij bewerkingen zoals het vergelijken van twee kolommen met ‘als-dan’-opties als output haakt de gewone gebruiker af. Ben je daarentegen super goed met Excel of ben je zelf developer (en kun je dus alles uit een low code systeem halen), dan kom je best ver.

Doordat de hoeveelheid code beperkt is, kan met een low code platform vaak al binnen een paar dagen een goed functionerende applicatie worden ontwikkeld. Dat maakt low code onder meer geschikt voor applicaties voor intern gebruik, zoals een bestelapplicatie waarmee medewerkers bijvoorbeeld een nieuwe laptop, gereedschap of andere supplies voor het werk kunnen aanvragen. Toch kan het werken met low code soms best complex zijn. Vaak moet de applicatie bijvoorbeeld aan een intern CRM of ERP systeem kunnen worden gekoppeld. En is de applicatie bijvoorbeeld bedoeld voor het intern verwerken van productieprocessen (waarvoor niet alle functionaliteiten in een ERP systeem zitten), dan zal deze dus flexibel genoeg moeten zijn om regelmatig te kunnen worden aangepast. 

Dat maakt het werken met een low code platform niet altijd even eenvoudig. Dit betekent dat er vaak toch sturing en begeleiding nodig zal zijn en er een dedicated team mee aan de slag moet. Ook moet je er rekening mee houden dat een low code platform bijna altijd werkt met een standaard user interface die niet helemaal naar je eigen wensen kan worden aangepast. Is het belangrijk dat je applicatie bijvoorbeeld de uitstraling van je eigen huisstijl krijgt, dan is dit dus zeker een aandachtspunt.

High code

High code platformen (zoals het populaire Symfony) zijn bij uitstek geschikt voor het ontwikkelen van maatwerkapplicaties. Wél vergen ze zoveel vakkennis dat je er echte developers voor nodig hebt. Wil je bijvoorbeeld een optimale gebruikservaring waarborgen? Of zijn de processen achter de applicatie zo complex en uniek dat je dat niet kunt oplossen in een low code platform? Dan is een high code systeem de beste oplossing. Ook kun je beter een high code platform gebruiken als je een klantportaal nodig hebt om alle informatie uit je ERP systeem aan eindgebruikers beschikbaar wilt stellen. Applicaties zoals een ‘Mijn…’ omgeving kun je simpelweg niet ontwikkelen met een no code of een low code systeem. Heb je nog niets, dan kan met een high code systeem vanaf 0 een applicatie op maat worden gebouwd. Maar er zijn uiteraard ook frameworks beschikbaar die kunnen worden ingezet. En ook hebben leveranciers vaak al eerder functionaliteiten ontwikkeld die ze kunnen hergebruiken en helemaal op jouw applicatie kunnen aanpassen.

Ontwikkelplatformen: een visueel overzicht van de verschillen.

Wanneer gebruik je welk platform?

Welk platform je voor jouw toepassing het beste kunt inzetten, hangt af van meerdere factoren.

Complexiteit van het systeem

Zoals ik hiervoor al aangaf, bepaalt vooral je eigen kennis en ervaring met welk platform je uit de voeten kunt. Heb je geen programmeerervaring, dan kun je in no code heel goed allerlei eenvoudige applicaties realiseren. Maar ook met een low code systeem, zoals OutSystems, kun je zonder al te veel ervaring heel wat mooie applicaties maken. Vergt je applicatie de inzet van high code? Dan kun je beter vertrouwen op de expertise van specialisten.

Schaalbaarheid

Het is fijn als je een applicatie kunt laten meegroeien met je activiteiten. Daarom is het belangrijk om goed na te gaan in hoeverre een platform schaalbaar is. No code platforms zijn bijvoorbeeld wél uit te breiden, maar je kunt niet doorschakelen naar complexe functionaliteiten die er niet standaard in zitten. Je kunt dus alleen de mogelijkheden van het platform zelf gebruiken. Low code platforms bieden veel meer mogelijkheden: bij OutSystems is schaalbaarheid zelfs een belangrijke USP. Je kunt met low code platforms dan ook veel realiseren, maar niet alles. Bovendien is het soms complexer om iets in low code aan te passen dan in high code, omdat je iets zo moet programmeren dat het platform het snapt. Je kunt dus wel wát code toevoegen, maar niet alles. Bij high code daarentegen kun je eigenlijk alles doordat je niet aan de kaders van een bestaand platform vastzit om het te kunnen laten werken. Daar staat tegenover dat high code zo complex is dat je developers nodig hebt die het écht snappen. 

Gebruikerswensen en styling

No code en low code systemen maken gebruik van vaste stijlelementen. Dit betekent dat je je eigen huisstijl er slechts beperkt op kunt ‘loslaten’. Is de applicatie bedoeld voor intern gebruik, dan is dat in veel gevallen prima. Maar als je er mee naar buiten wilt treden, wil je de applicatie toch wel je eigen look & feel meegeven. Daarnaast is ook de gebruikersinterface vaak standaard en kun je ook op dit vlak geen eigen wensen inbouwen. Optimalisatie van een applicatie voor bijvoorbeeld SEO en conversie wordt dan ook een stuk lastiger.

Beveiliging

Low code systemen zijn doorgaans redelijk goed beveiligd en worden geleverd met de nodige certificaten (al is dat bij het ene platform beter op orde dan bij het andere). Stel je hoge eisen aan security? Dan neem je die uiteraard mee in je selectieproces!

Performance

Voor simpele oplossingen zijn no code en low code systemen vaak goed toepasbaar. Maar er zijn ook applicaties waarbij in korte tijd miljoenen records moeten worden bewerkt. In zo’n geval kun je bijna altijd een betere oplossing realiseren in high code. Met high code kun je namelijk gebruik maken van meerdere technieken die je eenvoudig aan elkaar kunt knopen.

Snelheid

Low code bedrijven en ontwikkelaars zeggen vaak dat ze veel snelheidsvoordelen bieden ten opzichte van high code, maar dat valt in de praktijk nogal eens tegen. Zeker als je kiest voor een digital agency dat veel kennis en ervaring heeft op het gebied van high code én in het verleden al veel functionaliteiten in high code heeft ontwikkeld die ze voor jouw applicatie kunnen hergebruiken… Neem je ook onmisbare zaken als testen, implementeren en meten mee in de vergelijking, dan is de keuze voor een high code platform vaak helemaal zo gek nog niet.