Ontwikkelen met high-code of low-code?
17 januari 2024 • Blog
Ontwikkelen met high-code of low-code? De verschillen zijn immens. Of toch niet?
Het stereotype beeld van de developer die stilletjes op zijn zolderkamer code zit te kloppen, het hoofd verstopt onder een koptelefoon, is aan het verdwijnen. De opkomst van no-code- en low-codeplatformen vraagt een compleet andere rol van developers. De verschillen tussen high-code en low -code lijken levensgroot, maar is dat echt zo? Jeroen Verhagen werkt als low-code developer, maar heeft ook jarenlang ervaring met high-code. Hij legt uit wanneer welke oplossingen het meest geschikt zijn.
Standaard softwarepakketten verliezen aan populariteit. Organisaties kiezen steeds vaker voor applicaties op maat om business processen efficiënter, en gebruiksvriendelijker te maken. Voor het ontwikkelen van dergelijke applicaties staan er een groot aantal platformen ter beschikking, onder te verdelen in no-codeplatformen, low-codeplatformen en high-codeplatformen. Maar wat zijn de verschillen voor developers?
Steile leercurve
Het instapniveau en de snelheid van low-codeplatformen worden vaak genoemd als dé voordelen van programmeren. “Als je een applicatie in Mendix bouwt, zoals wij doen, kunnen nieuwe mensen, die geen ervaring hebben, snel aanhaken”, zegt Jeroen Verhagen, low-code developer bij Bizzomate. “Low-code is relatief snel te leren, zodat je ook snel het team aan de kant van de klant mee kan nemen in de ontwikkeling. Een zelfde soort applicatie ontwikkelen in high-code wordt lastiger, want daar is de leercurve veel langer. Het duurt veel langer voordat een onervaren developer volop kan meeprogrammeren. Dat is wel een belangrijk verschil.”
De snelheid van low-code bewees zich het afgelopen jaar. Tijdens de coronapandemie bleek het Mendix-platform een cruciale technologie te zijn voor bedrijven die zich snel wilden aanpassen om werken op afstand mogelijk te maken en beter te communiceren met klanten door digitale interactiekanalen op te zetten. Mendix bevordert namelijk de samenwerking tussen IT en de business, omdat werken op het platform ook begrijpelijk is voor mensen die weinig programmeer-ervaring hebben. Doordat de hoeveelheid code beperkt is – die zit al in de kant-en-klare building blocks waar de platformen gebruik van maken – kan met een low-code platform vaak al binnen enkele weken een functionerende applicatie worden ontwikkeld.
Minder bugs in low code
Hoewel de woorden ‘high’ en ‘low’ een tegenstelling suggereren, zijn de verschillen nu ook weer niet enorm, vindt Verhagen. Overeenkomsten zijn er namelijk ook genoeg te vinden. Mendix heeft bijvoorbeeld een appstore, waaruit developers onderdelen bij elkaar kunnen plukken om een applicatie te bouwen. Maar .NET-developers kunnen ook beschikken over een bibliotheek vol tools en widgets, daarin zit niet het grote verschil. “Het voordeel van low-code is dat er wel veel wordt geput uit bestaande widgets en building blocks. Die zijn getest en hebben zich bewezen, en dat betekent automatisch dat er minder bugs optreden. Bij high code-oplossingen wordt meer afgeweken van standaarden. Als je daarmee iets helemaal nieuw bouwt, dan is de kans op fouten ook groter”, zegt Verhagen.
Wat niet wil zeggen dat low-code-applicaties eenvoudiger zijn. Vaak moet een applicatie gekoppeld worden aan meer statische CRM- of ERP-systemen, zodat van de nieuwe applicatie veel flexibiliteit wordt verwacht om regelmatig processen te kunnen aanpassen.
Nog een bewijs dat high- en low-code geen twee aparte werelden vormen; ze gaan prima samen. Op Mendix kunnen bijvoorbeeld prima nieuwe modules worden ontwikkeld waarbij onderdelen in Java worden gecodeerd. Mendix is immers en open platform. Door in high-code te werken, kun je weer een low-code building block maken, wat een andere low-coder weer kan gebruiken voor zijn applicatie.
Allemaal dezelfde pet
High-codeplatformen zijn zeker geschikt voor het ontwikkelen van maatwerkapplicaties. Wel zijn ervaren developers dan een vereiste. Iemand met basale kennis kan al snel ingeschakeld worden voor het bouwen van Mendix-applicaties, terwijl in een high-code-omgeving een onervaren iemand meer kapot kan maken dat dan hij iets kan bijdragen. Verhagen: “De leercurve is steil bij Mendix, dat is een voordeel. Maar dat betekent niet dat je hier niet net zo goed slecht functionerende apps kan maken.”
Anders dan bij low-code heeft iedereen in een high-code team zijn eigen pet op. Zo’n team bestaat bijvoorbeeld uit een functioneel consultant, een back end developer, een database specialist en een netwerkbeheerder. Bij Mendix-projecten is het gebruikelijk dat iedereen al die petten op heeft. Verhagen: “Er zijn wel voorkeuren natuurlijk. Als iemand een voorliefde heeft voor user interface design, dan zal diegene dat meer naar zich toe trekken, maar in principe kan iedereen alles. Het is één scrum team, alle leden met dezelfde rol, alleen de mate van ervaring zal verschillen. Voorheen praatte één teamleider met de klant, en de developers klopten alleen maar code. Nu communiceert iedereen veel, om het proces gaande te houden en de vaart erin te houden. In principe zou deze werkwijze ook werken bij high- code-teams, maar in de praktijk gebeurt het nauwelijks.”
Wanneer kies je dan voor low-code?
Low-codeplatformen als Mendix staan bekend om de snelheid waarmee te ontwikkelen is, maar die snelheid is relatief, vindt Verhagen. “Als het startpunt gelijk is, dan kun je zeggen dat low-code inderdaad sneller is. Maar een zeer ervaren high code-team kan ook razendsnel werken, zeker vergeleken met onervaren low-coders. Neem die overweging mee.”
Low-code kan wel snelheid opleveren in de aanloop naar een project. Met Mendix Studio – voorheen de Web Modeler – kunnen onervaren developers of businessmensen op eenvoudige manier een mock-up maken, door middel van een paar klikken. Daarvoor zijn de building blocks zeer geschikt, er komt geen high-code aan te pas.
Als een businessafdeling ideeën heeft, kunnen ze die zelf snel vormgeven, waarna het Mendix scrum team ermee verder kan gaan om een kwalitatief goede en veilige applicatie te bouwen. Door een applicatie-idee al in een vroeg stadium te visualiseren, weet het team snel wat er verwacht wordt. Zo kan er sneller geschakeld worden.”
Complexiteit van een applicatie is tegenwoordig geen issue meer voor low- codeplatformen. Bij de ontwikkeling van deze platformen, enkele jaren geleden, werden vooral de eenvoudigere oplossingen gezocht, maar inmiddels zijn de appstores zeer goed gevuld met allerlei complexe building blocks, modules en widgets, zodat de mogelijkheden kunnen concurreren met high code-oplossingen. En, zoals gezegd, low code gaat prima samen met high code-toevoegingen.
Concluderend denkt Verhagen dat low code een goede toekomst heeft; ontwikkelingen op deze platformen blijven snel gaan, waardoor de vergelijking met high code-oplossingen steeds vaker in het voordeel van low code uitvalt. “Uiteindelijk kiest een klant voor een oplossing van zijn vraag, hij kiest in eerste instantie niet voor een platform. Maar de voordelen van agile werken, zoals wij ook doen, zorgt ervoor dat oplossingen goed, snel en in overleg gebouwd worden. En dat is wat je uiteindelijk wil.”
Lees ook ons stuk over de belangrijkste verschillen over Low-Code vs. High-Code.