Je wilt een Power App bouwen. Maar kies je voor Canvas of Model-driven app? Deze keuze heeft invloed op de ontwerpvrijheid (en daarmee UX), databronnen en licenties. In deze blog leg ik de belangrijkste verschillen uit en wanneer je welke optie kiest.
Het verschil in ontwerpvrijheid
Wanneer je een nieuwe app aan wilt maken in het Power Platform zie je eigenlijk al 2 verschillende opties om met een lege app te beginnen:
- Start with data
- Start with a page design Hierbij wordt het grote verschil eigenlijk al beschreven, waar Model-driven apps voornamelijk data-gedreven zijn en minder ontwerpvrijheid bieden kan je binnen een Canvas app met een pagina-design starten en vanuit daar de app vrij opmaken.
Model-driven app
Als je een nieuwe Model-driven app aanmaakt en een nieuwe pagina wil aanmaken krijg je de volgende opties:

Zoals in de afbeelding links te zien is heb je 5 verschillende opties om pagina’s toe te voegen aan de app. Om data aan te maken, lezen, bewerken of verwijderen maak je een pagina op basis van een Dataverse-tabel. Deze pagina maakt gebruik van Views en Forms die zijn aangemaakt voor de gekozen tabel. Om dit aan te passen zul je binnen de tabel de Views en Forms moeten bewerken, waarna de verschillen zichtbaar zullen worden in de Dataverse-pagina. Na het toevoegen van de Dataverse-pagina staat er meteen een pagina die werkt op basis van de configuraties in de tabel. Voor het ontwerp hoef je verder niks toe te voegen. Je kan bijvoorbeeld kleuren, zoals te zien bij functie, instellen in de View van de tabel.

Canvas app
In een Canvas app begin je met een lege pagina, waarbij je wel kan kiezen hoe het paginadesign gestructureerd is: Vanuit een pagina kan je zelf knoppen, lijsten en formulieren toevoegen en deze koppelen met data. Hierbij is het wel noodzakelijk dit zelf te configureren vanuit de app. Hieronder zijn enkele opties zichtbaar die gekozen kunnen worden om toe te voegen.

Het verschil in databrongebruik
Binnen een Canvas app is het mogelijk om veel verschillende databronnen toe te voegen om mee te werken. Denk hierbij bijvoorbeeld aan SharePoint, Teams, Outlook, Entra ID, maar ook Dataverse kan toegevoegd worden aan een Canvas app. Dit maakt het binnen een Canvas app dus mogelijk om met meerdere databronnen tegelijk te werken.

Binnen een Model-driven app is de databron altijd Dataverse. Op het moment dat je toch met andere data zou willen werken, zal dit binnen een Dataverse-tabel (Virtual Table) met een Power Automate flow (Data syncen van/naar Dataverse) opgelost moeten worden.
Een andere optie om met meerdere databronnen te werken in een Model-driven app is om een custom page toe te voegen:
Een custom page is eigenlijk een Canvas app, die aangemaakt en toegevoegd wordt aan de Model-driven app. Op die manier kunnen dus beide opties samen geïmplementeerd worden.

De licentieverschillen uitgelegd
De benodigde licentie hangt af van de gebruikte databronnen. Omdat Model-driven apps altijd gebruik maken van Dataverse, is voor een Model-driven app altijd een Power Apps Premium licentie nodig.
Bij een Canvas app is het afhankelijk van welke databronnen gebruikt gemaakt wordt. Op het moment dat er gebruik gemaakt wordt van een standaard connector is een E3 of E5 licentie voldoende, maar wanneer er gebruikt wordt gemaakt van een Premium Connector heeft de gebruiker een Power Apps Premium Licentie nodig.

Wat betekent dit in de praktijk?
Nu de theorie is uitgelegd zal hieronder visueel worden weergegeven wat de verschillen zijn tussen de Model-driven en Canvas app in design. Ik heb voor deze blog een app gemaakt voor het beheren van medewerkers. Ik heb voor de Model-driven app en de Canvas app dezelfde bronnen gebruikt.
Model-driven app
Medewerker overzicht:

Medewerker formulier:

Zoals in de afbeeldingen hierboven te zien is, zijn de opmaak en de knoppen praktisch hetzelfde in alle schermen en staat de data centraal.
Canvas app
Medewerker overzicht:

Medewerker formulier:

Wanneer kies je welke optie?
Eigenlijk is er dus geen eenduidig antwoord welk type app het beste gekozen kan worden. Dit is namelijk volledig afhankelijk van het gebruik van databronnen, de mate van ontwerpvrijheid die nodig is en de licentiekosten. Daarnaast kan er altijd gekozen worden voor een combinatie van beide apps, door een Custom Page toe te voegen aan de Model-driven app.
Aan de slag met Power Apps?
Of het nu gaat om een kleine interne app of een complexe oplossing met meerdere databronnen en integraties: de juiste architectuurkeuze aan het begin maakt een groot verschil. Onze Power Platform consultants helpen organisaties met het ontwerpen en bouwen van Power Apps – van eerste idee tot volwassen applicatie.
Overweeg je Power Apps in te zetten en wil je sparren over de beste aanpak? Neem gerust contact met ons op. We denken graag met je mee.

Heb je vragen over dit onderwerp of zou je Daan willen inhuren voor een vergelijkbare opdracht?