We all love Power Apps. It’s a great feeling when you transform an idea into working software, and the Power Apps suite empowers so many people to accomplish this, whether they are seasoned professionals or newcomers to software development.

People love Canvas apps! Anyone can rapidly create a mobile application for their phone or tablet with a free trial license. Makers have full control of the look and feel of their applications, placing form controls anywhere they like on screen and styled and coloured however they please! Model-driven apps… not so much love.

In my opinion, model-driven apps don’t get the love they are due. Why do people not like them? Several reasons:

  • App users require Premium licensing.
  • They have a fixed look and feel.
  • You must use Dataverse as the data source

Guilty as charged. However, model-driven apps give us the ability to rapidly build content management systems that enable end users to do their jobs. They may have a fixed look and feel, but they have several out-of-the-box features not present in canvas apps, such as filtering, paging and sorting of data tables; tabbed forms; advanced search functionality. You can add these features to canvas apps if you like, but you have to custom build and test this yourself. As someone who has developed this for countless dotnet applications over the years, I can’t express enough how much of a relief it is not to have to develop such tedious functionality, especially when working with a large number of data tables.

Yes, the look and feel is very much fixed, but it’s an established aesthetic already in use by millions of Dynamics users. Again, it’s a relief not to go too far down the rabbit hole of custom interface design.

Dataverse is a data source new to many in the software industry, and people are naturally wary of tech they are unfamiliar with. I’ll be writing an upcoming post about the strengths of Dataverse and the level of access granularity it offers in due course, but for now – trust me.

As for Premium licensing – hopefully by the end of these series of articles I’ll have convinced you that the capabilities offered are a price worth paying for.

What are we building today? I’m a fan of the Netflix series Cobra Kai. I grew up watching the Karate Kid films and it’s fun seeing how the characters turned out after almost 40 years. The Karate Kid himself – Daniel Larusso – now runs his own successful car sales business. I thought he could use a new software solution to manage his inventory. Step forward model-driven apps.

Not Daniel Larusso, but his royalty free AI-Generated equivalent. Did Aikido instead. Maybe.

When building a model-driven app, the first thing to consider is the underlying data structure. I’ve settled on the following relationship model:

Some explanation here:

  • Manufacturers are the companies that make cars – e.g. Audi, BMW, Honda, Ford.
  • Models are the different types of vehicles that a given manufacturer makes – e.g. Audi A6, BMW 5 Series.
  • Vehicles are instances of models – our dealership may have 10 Audi A6s for sale, with different mileage, age, colour…etc.

In coming posts, we’ll revisit our data model to add new functionality, but for now, we’ll keep things simple and focus on inventory management.

Stay tuned for the next post in which we’ll build our data model!

2 responses to “Building your first Model-driven App – Part 1 : The Why”

  1. Build Your App in 10 Minutes with Dataverse – Power Platform Pete Avatar

    […] per our first lesson, let’s go to a new environment and create a new solution. Click on Solutions from the side […]

    Like

  2. Building Canvas Apps Part 1: Considerations – Power Platform Pete Avatar

    […] very first post I wrote for this blog outlined why you should build a model-driven app. Now, after six months of […]

    Like

Leave a comment