No-code en low-code platformen

Onlangs kreeg ik van een klant de vraag of hij zelf niet wat kon doen met een no-code platform waarover hij had gelezen, namelijk Microsoft Power Apps. Allereerst een kleine correctie, Microsoft Power Apps is een low-code platform, niet een no-code platform. Ten tweede, nee. Deze platformen adverteren met een snelle en makkelijke ontwikkeling van applicaties, maar zo simpel is het niet.

Wat doen deze platformen?

Zowel no-code als low-code maken het ontwikkelen van applicaties makkelijker voor niet-technische en technische mensen. Deze platformen bieden vaak een online editor waarin u met blokjes kunt slepen om functionaliteit aan uw applicatie toe te voegen. Denk hierbij aan een user interface, maar ook aan als-dan (if-else) logica. Vrijwel alles is al voor u geregeld, zoals het hosten van de applicatie, een database (waarvan het model nog wel zelf ontwikkeld moet worden) en een programmeertaal zoals HTML, CSS en JavaScript.

No-code of low-code

Laten we eens stilstaan bij het verschil tussen no-code en low-code, twee termen die vaak door elkaar worden gebruikt. Een no-code platform is gericht op mensen uit de business, niet op software ontwikkelaars. Low-code daarentegen richt zich nog steeds op ontwikkelaars, maar maakt onderdelen van het ontwikkelproces sneller en makkelijker.

Voor no-code zou dan ook, in theorie, geen programmeerkennis nodig zijn. De naam zegt het eigenlijk al, er is geen code nodig. En eerlijk is eerlijk, wanneer u wat simpele invoerschermen nodig hebt zijn no-code platformen over het algemeen makkelijk en snel. Hier kunnen dan vaak nog simpele validaties aan toegevoegd worden, zoals of een veld wel of niet verplicht is. Ook simpele logica "aan de achterkant", zoals "wanneer type x dan actie y anders actie z", is nog relatief makkelijk te realiseren (al is het voor mij als ontwikkelaar vaak onnodig traag omdat blokjes slepen nou eenmaal langzamer is dan typen). Helaas blijft het vaak niet zo simpel. Het probleem begint wanneer u complexere en vaak dynamische logica heeft, zoals velden conditioneel wel of niet tonen. Denk aan een vragenlijst waarbij u afhankelijk van een antwoord door gaat naar vraag 2 of naar vraag 10.

Low-code is in veel opzichten gelijk aan no-code, met het verschil dat er vaak alsnog code geschreven kan worden als alternatief voor het slepen van blokjes.

No-code is ongelijk aan no-knowledge

Waar mensen zich nog wel eens in vergissen is dat zelfs bij no-code toch enige programmeerkennis vereist is. No-code staat wat dat betreft niet gelijk aan "no-knowledge". Een basiskennis van systemen is vereist. U moet immers nog steeds zelf een data model bedenken en hoe gebruikers hier het makkelijkst mee aan de slag kunnen gaan. Daarnaast heeft u nog steeds te maken met computerconcepten zoals boolean logica (true/false), vertakkingen (if-else) en loops (for each). Als uw business logica ingewikkeld is zal dit niet ineens makkelijk te vangen zijn in een no-code platform.

Daarnaast is software ontwikkeling niet alleen code kloppen. Er zal ook nagedacht moeten worden over versiebeheer, (automatisch) uitrollen van nieuwe versies, onderhoudbaarheid, rechtenbeheer, performance en andere zaken.

Kosten

Vaak wordt gedacht dat no-code of low-code goedkoop zijn. Dit hoeft zeker niet zo te zijn. Allereerst zal er training nodig zijn om met het platform te kunnen werken. Vervolgens moet een applicatie nog steeds gebouwd worden. Dit gaat vaak wel sneller dan bij "traditionele" software ontwikkeling, maar "snel in elkaar klikken" is het vaak ook niet. Daarnaast betaalt u voor het gebruik van het platform. Waar u een website normaliter op een server kunt draaien voor het éénmalige bedrag van de server (en daarna wat onderhoud) of voor een maandelijks bedrag van pakweg €100,- op cloud platformen zoals Microsoft Azure of Amazon AWS, betaalt u voor een aantal populaire no-code en low-code platformen al snel €15.000,- per jaar.

Met die kosten heeft u eenmalige "traditionele" ontwikkelkosten van €100.000,- binnen een paar jaar terug verdiend. Er zijn vaak ook gratis of goedkope abonnementen, maar daar gelden strikte beperkingen, zoals het aantal records in een database en het aantal gebruikers in de applicatie. Mocht u voor een goedkope optie kiezen onderzoek dan eerst goed of het aan al uw eisen voldoet.

Use cases

No-code en low-code platformen hebben zeker wel hun use-cases. U klikt relatief makkelijk een simpele Back-Office, web of mobiele applicatie in elkaar. Integraties met andere platformen als mail, betaalplatformen of Dropbox zijn vaak inbegrepen. Het grootste voordeel van deze platformen, ten opzichte van traditionele ontwikkeling, is dat u geen of minder ontwikkelaars nodig heeft. U verliest aan flexibiliteit en mogelijkheden en betaalt daar een flinke prijs voor, maar u kunt met andere, minder technisch onderlegde, mensen wel beginnen met ontwikkelen. Bedenkt u wel dat uw applicatie niet buiten het gekozen platform kan bestaan. Als u dus afstapt van uw gekozen platform dan bent u ook uw applicatie kwijt.

Interesse in wat mogelijk is met "traditionele" software ontwikkeling? Neem dan vrijblijvend contact op met info@juunsoftware.nl.