Low-code softwareontwikkeling geholpen door AI
Artificial Intelligence (AI) staat de laatste tijd volop in de belangstelling. Dat komt mede door een aantal technologische innovaties die onlangs door het Amerikaanse techbedrijf OpenAI zijn gepresenteerd. OpenAI vestigde vorig jaar de aandacht op zichzelf met de introductie van Dall-E, een generatief AI-model dat unieke afbeeldingen kan creëren op basis van opdrachten in menselijke taal. Een ware hype ontstond toen OpenAI op 30 november een nieuwe versie van de intelligente chatbot ChatGPT lanceerde en een gratis versie online beschikbaar stelde. Binnen enkele dagen na de lancering hadden meer dan 1 miljoen gebruikers zich al aangemeld voor ChatGPT.
De nieuwe AI-toepassingen van OpenAI hebben bij veel mensen de verbeelding over de mogelijkheden van kunstmatige intelligentie aangewakkerd. In navolging op de enorme populariteit van ChatGPT en Dall-E kondigde Microsoft in januari aan dat het miljarden investeert in OpenAI. Daardoor zijn er hoge verwachtingen ontstaan over het gebruik van AI in bestaande software zoals de online zoekmachine Bing en MS Office.
Wat betekent deze sprong van AI-technologie voor softwareontwikkeling?
Het is al lang geen nieuws meer dat developers schaars zijn en dat deze situatie nog wel even zal aanhouden, terwijl er een toenemende behoefte is aan nieuwe softwaretoepassingen. Kan AI hiervoor een oplossing bieden? Kunnen generatieve AI-modellen zoals ChatGPT het werk van softwareontwikkelaars uit handen nemen?
De heilige graal is misschien wel dat iedereen een programmeur kan zijn en dat je in menselijke taal aan een AI kunt vragen om een applicatie te genereren. Zover zijn we nog lang niet. Toch is de toepassing van AI in softwareontwikkeling geen toekomstmuziek, want dit gebeurt al in moderne low-code/no-code tools zoals Mendix en Power Apps. In dit blog lees je welke AI-toepassingen nu al beschikbaar zijn in deze tools en welke innovaties we kunnen verwachten.
AI-gedreven hulpmiddelen in low-code tools
De eerste toepassingen van AI en ML (machine learning) in low-code tools zagen we al 2018 toen Mendix de slimme assistent Mendix Assist introduceerde. Mendix Assist helpt ontwikkelaars bij het modelleren van applicatielogica in zogenaamde microflows door continue verbeteringen en aanpassingen als volgende stap voor te stellen. Mendix Assist maakt daarbij gebruik van historische en geanonimiseerde data die zijn gebaseerd op de vele applicatiemodellen die door klanten op het cloudplatform van Mendix zijn ontwikkeld. Het AI-model van Mendix Assist herkent patronen terwijl je bezig bent met modelleren en geeft je contextuele aanbevelingen voor een volgende stap, waarna je een voorgestelde aanbeveling ook kan laten uitvoeren als je deze accepteert. Op die manier bouw je niet alleen betere applicaties, maar gaat het ontwikkelen ervan ook sneller dan wanneer je het zelf moet doen.
In de jaren na introductie is Mendix Assist uitgebreid met nieuwe features, o.a. voor het creëren van pagina’s (schermen) en het automatisch genereren van validatieflows. Naast het versnellen van het ontwikkelproces helpt Mendix Assist tegenwoordig ook bij het optimaliseren van de performance van applicaties. De Performance Bot van Mendix Assists controleert een applicatie op allerlei aspecten tijdens het ontwikkelen en detecteert potentiële ontwerpfouten in het datamodel, de microflows en de pagina’s van een applicatie. Gedetecteerde problemen in het ontwerp van de applicatie worden met toelichtingen duidelijk gemaakt aan de ontwikkelaar en kunnen vervolgens automatisch opgelost worden door Mendix Assist.
Microsoft lanceerde in mei vorig jaar Express Design voor Power Apps. Met Express Design kan een bestaand wireframe (ontwerp) uit Figma, een afbeelding van een papieren formulier, en zelfs een screenshot van een whiteboard automatisch omgezet worden in een app. Het cognitieve AI-model van Power Apps herkent de structuren van een afbeelding en kan dit vertalen naar een werkende user interface voor een nieuwe applicatie. Het model is zelfs in staat om op basis van de afbeelding een datamodel in Dataverse te creëren.
Tijdens het laatste Ignite evenement in oktober vorig jaar presenteerde Microsoft een AI-innovatie voor Power Automate waaruit we kunnen afleiden wat we in de nabije toekomst kunnen verwachten. Hier werd een preview feature Create a flow from a description gepresenteerd waarmee je via een opdrachtbalk kunt beschrijven wat je wil automatiseren. De ingevoerde tekst wordt door Power Automate vervolgens vertaald naar code. Aan de hand van de code wordt er automatisch een flow voor je gemodelleerd met de benodigde activiteiten en parameters om de gevraagde automatisering uit te voeren. Power Automate maakt hierbij gebruik van OpenAI Codex, wat net als ChatGPT een generatief AI-model is voor het genereren van code.
AI-functionaliteit inbedden in low-code apps
In andere trend die we zien in low-code software ontwikkeling is de integratie van AI-functionaliteit in applicaties. Je kunt hierbij denken aan het koppelen van een applicatie met standaard AI-services uit de cloud voor automatische beeldherkenning, of het omzetten van audio naar tekst. Deze services kunnen redelijk eenvoudig gekoppeld worden met een low-code tool. Daarnaast zijn veel bedrijven bezig met de ontwikkeling van op maat gemaakte AI-modellen voor specifieke toepassingen, zoals procesoptimalisatie, fraudedetectie en predictive maintenance. Het inbedden van dit soort AI-modellen in low-code applicaties was tot voor kort lastig, o.a. omdat er complexe API’s en REST-services nodig zijn om de modellen aan te kunnen roepen vanuit een low-code tool. Recente innovaties in Mendix en Power Apps kunnen deze problemen oplossen.
Microsoft biedt met AI Builder al enige tijd de mogelijkheid om AI-modellen te maken en deze te gebruiken binnen Power Apps. In AI Builder kun je ervoor kiezen om een vooraf samengesteld model te gebruiken, of om zelf een model te bouwen op een low-code manier (zonder te programmeren). AI Builder biedt templates voor verschillende modeltypen, waaronder categorieclassificatie, documentverwerking en voorspellingen. Recent heeft Microsoft de mogelijkheden van AI Builder uitgebreid, waardoor je nu custom ML-modellen die zijn ontwikkeld met Azure Machine Learning Platform kunt importeren in AI Builder. Nadat een AI-model in AI Builder is gecreëerd, kan het model worden aangeroepen in Power Apps met Power Fx. Dit is een formuletaal van Microsoft met weinig code die ongeveer op dezelfde manier werkt als Excel.
Mendix volgt min of meer hetzelfde voorbeeld als Microsoft met de nieuwe Machine Learning Kit die eind vorig jaar is aangekondigd en die zeer binnenkort officieel wordt vrijgegeven. Ook hiermee moet het mogelijk zijn om een custom ML-model aan een app toe te voegen, waardoor het aanroepen van het model binnen Mendix veel eenvoudiger wordt gemaakt.
Wat kunnen we verwachten?
Tot nu toe zijn het voornamelijk slimme AI-gedreven functies in de low-code tools die het ontwikkelen van applicaties makkelijker maken en er betere software wordt geproduceerd met deze tools. AI werkt daarbij als een soort co-piloot, die taken van een ontwikkelaar uit handen neemt en die de ontwikkelaar behoedt voor het maken van ontwerpfouten. In de nabije toekomst verwacht ik meer van dit soort toepassingen, waarbij de ontwikkelaar naast het bouwen van applicaties ook wordt geholpen met andere aspecten van softwareontwikkeling, bijvoorbeeld het geautomatiseerd testen van applicaties.
Met de recente technologische ontwikkelingen op het gebied van generatieve AI verwacht ik dat we dit jaar nieuwe AI-toepassingen in low-code tools gaan zien. Met de investering in OpenAI die Microsoft heeft aangekondigd zou het zomaar kunnen dat er een slimme AI-chatbot wordt geïntegreerd in Power Apps en Power Automate. De eerste voortekenen hiervan zijn al te zien in preview features zoals Power Apps Ideas en Create a flow from a description in Power Automate. Hiermee wordt het mogelijk om in menselijke taal te vragen om een specifiek onderdeel van een applicatie te modelleren. Dat noem ik nog eens next-level low-code app development!
Worden softwareontwikkelaars overbodig door AI?
Zijn softwareontwikkelaars van vlees en bloed straks overbodig door AI? Dat geloof ik niet. Als code automatisch gegenereerd wordt door AI, moet je als ontwikkelaar de code kunnen reviewen en aanpassen waar nodig. We kunnen er niet op vertrouwen dat de output van generatieve AI-modellen altijd klopt, of dat het precies aansluit bij de intenties van de opdrachtgever. Daarnaast bestaat softwareontwikkeling uit veel meer dan code. Het voeren van gesprekken met gebruikers en het vertalen van gebruikerswensen naar functionaliteit die daadwerkelijk kan worden gemaakt blijft mensenwerk. De expertrol van een ervaren developer of een toolspecialist blijft daardoor noodzakelijk bij softwareontwikkeling.
Meer weten over low-code?
Wil je meer weten over de mogelijkheden van low-code tools, of heb je een concrete uitdaging waarbij een low-code app de oplossing zou kunnen bieden? Wij helpen je met advies en denken graag mee over de mogelijke toepassingen van low-code voor jouw specifieke situatie. Neem voor een kennismakingsgesprek contact op met een van onze accountmanagers.
Geschreven door Steven Samuels Brusse,
Senior Consultant
Wil je zelf aan de slag als low-code ontwikkelaar?
De vraag naar low-code software neemt alleen maar toe. E-mergo is daarom op zoek naar versterking van het team dat oplossingen voor klanten bouwt met Mendix en Power Apps. Zie jij jezelf als toekomstig low-code ontwikkelaar? Aarzel dan niet en bekijk onze vacatures op de website via de button hieronder.