In August 2023 I made a post comparing Canvas Apps to Model-driven Apps. You can find it here: Create your first app: Canvas Apps Vs. Model-Driven Apps

That post was made as a guide for new citizen developers, to help them decide what they should do, when deciding which technology was the right fit for them when making a new app.

Without going into cliches. Things have of course changed since then. There are now 5(really only 4) viable options I would say a citizen developer should consider when deciding which app is relevant for them.

The list is:

  1. Model-Driven Apps
  2. Canvas Apps
  3. Vibe apps
  4. Code Apps
  5. Power Pages (I include this just for arguments sake, but I would not consider this a viable scenario for most citizen developers, however I welcome any feedback)

The main differentiator in my list is my belief in which interface a citizen developers will be comfortable in using when creating apps. I will therefore rate each app on a scale going from No-code to Pro-code, while encompassing all options in between.

To break it down further: I make my distinctions largely based on whether I believe that a “Citizen Developer” still relies on a certain level of UI/UX to help them develop applications or whether they are able to work with some elements of code, or even use an IDE or work with things like a GitHub Repo.

Lets start off with my personal favourite: Model-Driven Apps.

Model-Driven Apps (No-code)

When making a new app. I still consider Model-Driven apps the gold standard for citizen developers. The ease of use interface. The large advantages of having enterprise ready storage/security/ALM already built in and ready to use out-of-the-box through Dataverse and the Power Platform makes Model-Driven Apps extremely easy to use, leverage and allows users to have business applications that will stand the test of time. In addition to my arguments from my previous post.

I still consider model-driven apps to be the only truly no-code App. It is of course possible to also extend your applications using code, either through Javascript, PCF components of plug-ins. But in many practical day-to-day scenarios, you should be able to work with your data using out-of-the-box features that can be accessed through the UI by point-and-click.

Creating applications is done through a very stream-lined interface that year-after-year experiences very little change. All fundamental elements stay the exact same. The application you built 5 years ago can be maintained and managed 5 years later using the exact same interface, with the same options as you have previously used.

Some will argue that this is could be considered a drawback, but in my experience, the opposite is true. In the world of enterprise applications, I find that stability, and easy of use across multiple different types of applications is very highly valued.

Users can create multiple applications, where the interface and user experience remains familiar and instantly recognizable, even as users change between applications.

New developments: Model-driven apps have also gotten the ability to create a “plan”. For new applications this helps the user “plan” their application and build much of the essentials elements through natural language. For existing apps this essentially creates the documentation for your existing solution and also helps expand it. There are drawbacks as the plan is not yet able to work very well with table relationships and some elements of the older dynamics functions such as business rules, real-time workflows, etc.

Database considerations: Model-Driven Apps only run on Dataverse and require premium connections. One of the most common reasons that I find when speaking to people about choosing the right application is simply licensing. Organizations want people to create applications that can be used across the business to make users work faster and more efficient, but they don’t want to pay for the premium licenses. This is, in my opinion, one of the primary drivers for Canvas App adoption across organizations.

Canvas Apps (low-code)

Canvas Apps are still king in terms of making a fully customizable UI.

The “pixel-perfect” option of freely creating buttons, fields, controls, etc. right where you want them is very hard to beat. All of this is done in a way where the user maintain a very large level of control of where exactly to place each element of their application.

However, this also comes with a drawback. Creating applications require a larger amount of customization for each application. There are tools for helping developers apply themes and use modern controls across apps and PowerFX is a powerful and easy to use (and very well documented) programming language. Meaning that developers are not going to struggle with creating applications (in most cases). I rate canvas apps as low-code because the user still has a familiar user interface for creating applications and can still drag-and-drop certain elements and easily control the application and see the UI as they develop the application

Data sources: When creating a canvas app. Developers have a myriad of choices available as their data source. You could start with an excel sheet, a SharePoint List, an SQL server, and the list goes on. All of this can be done without paying for premium Power Apps licenses for users.

Vibe Apps – Still in preview (combination of No-Code & Code)

One of the newer additions to the Power Platform family.

Vibe apps are a way of bridging the gap between Canvas apps and Model-Driven apps. While this is still in preview. It’s worth talking about as this is one of the areas where we see Microsoft investing heavily at the moment.

Users are able to leverage all the power of modern LLMs to create applications simply by talking and prompting using natural language. This is in my opinion an extremely powerful tool that will arguably make development of applications much easier and faster.

All drawbacks of the canvas-apps (cumbersome in terms of making changes, requires coding/attention to details, lack of the low-code interface for development) are gone. Natural language drives the creating and editing of your applications. If you want to move a button or add a new function, you simply tell the app about it in your own words and it will understand you and create exactly what you need.

The ease of use of this type of development is hard to argue with. The main drawbacks are the requirement of a Premium license and the issue of citizen developers being unable to easily make their own changes within the code without having to use additional prompts. The first versions did not allow users to change the code, but recent releases have allowed direct editing within the code itself.

There are still unanswered questions about how ALM and other best practices are going to work when creating vibe code apps. Also, existing applications are currently not supported. Vibe coded apps only work with completely new apps. But, it’s hard to argue that for new applications and for new citizen developers(with a premium license), a Vibe coded app is the easiest way of going from nothing, to a complete app within minutes.

Vibe coded apps not only create the apps, but also creates a plan with tables, workflows, users roles and agents. All working together to make your app work exactly as you have described. This is an incredibly powerful framework that I expect to grow considerably in the coming years.

Code Apps

Code-Apps are a separate thing. They do not function at all like either model-driven apps, Canvas apps or even Vibe apps. They exist in a completely separate world. What I mean by that is that even though they are able to use data sources from your Power Apps environments, and generally integrate with your environments, they require you to develop your applications either through a IDE or CLI. Furthermore, a Power Apps Premium license is required for users that need to run your Code Apps.

I won’t go into too many details about code apps, simply because I know very little about them. I will however copy paste the first two paragraphs from the learn documentation about what Code Apps are:

Power Apps empowers developers of all skill sets, including those building web apps in integrated developer environments (IDEs) like Visual Studio Code, to efficiently build and run business apps on a managed platform.

Code apps let developers bring Power Apps capabilities into custom web apps built in a code‑first IDE. You can develop locally and run the same app in Power Platform. Build with popular frameworks (React, Vue, and others) while keeping full control over your UI and logic

If you read the above and feel comfortable moving forward. Go for it. If you read the above and are left with more questions and answers. Then maybe Code apps isn’t the right fit.

However, I have had many discussions with developers and fellow consultants about Code apps and to me one thing stands clear. All developers tell me that Code apps are extremely easy to use and to get started with, and I should be able to start making code apps within minutes. While users and other functional consultants still do not have much experience working with IDEs, CLI, Repos or anything like that and they don’t even know how to start asking Copilot/ChatGPT/Claude/etc about these things. I consider Vibe Apps to be a better fit for citizen developers.

Power Pages

I wont go into to make details about power pages. As I also don’t work with technology enough to truly grasp the intricacies of what this technology truly offers. I will however mention some advantages that I do know are available through this technology. It is possible to use Dataverse tables to create customer facing applications. This means that you are able to leverage certain aspects of your Dataverse environments, while exposing your applications to the outside world. Something that is unique to Power Pages as opposed to all other types of applications, where access depends on having a License and accessing the Application through the organization. Meaning that all other types of applications are essential Internal applications and not meant for external use.

Power Pages are created using a programming language called Liquid, which you can use an LLM to help you create quite easily. The interface has a slight resemblance to some elements from model-driven apps, but not completely similar. And some functionality from model-driven apps will not be transferable to Power Pages.

For developers that need to make customer facing sites, or creating applications that combine internal and external users, Power Pages remain a very useful tool for achieving this.

Leave a Reply

Designed with WordPress

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.
Cookies settings
Accept
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Privacy Policy

What information do we collect?

We collect information from you when you register on our site or place an order. When ordering or registering on our site, as appropriate, you may be asked to enter your: name, e-mail address or mailing address.

What do we use your information for?

Any of the information we collect from you may be used in one of the following ways: To personalize your experience (your information helps us to better respond to your individual needs) To improve our website (we continually strive to improve our website offerings based on the information and feedback we receive from you) To improve customer service (your information helps us to more effectively respond to your customer service requests and support needs) To process transactions Your information, whether public or private, will not be sold, exchanged, transferred, or given to any other company for any reason whatsoever, without your consent, other than for the express purpose of delivering the purchased product or service requested. To administer a contest, promotion, survey or other site feature To send periodic emails The email address you provide for order processing, will only be used to send you information and updates pertaining to your order.

How do we protect your information?

We implement a variety of security measures to maintain the safety of your personal information when you place an order or enter, submit, or access your personal information. We offer the use of a secure server. All supplied sensitive/credit information is transmitted via Secure Socket Layer (SSL) technology and then encrypted into our Payment gateway providers database only to be accessible by those authorized with special access rights to such systems, and are required to?keep the information confidential. After a transaction, your private information (credit cards, social security numbers, financials, etc.) will not be kept on file for more than 60 days.

Do we use cookies?

Yes (Cookies are small files that a site or its service provider transfers to your computers hard drive through your Web browser (if you allow) that enables the sites or service providers systems to recognize your browser and capture and remember certain information We use cookies to help us remember and process the items in your shopping cart, understand and save your preferences for future visits, keep track of advertisements and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business. If you prefer, you can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies via your browser settings. Like most websites, if you turn your cookies off, some of our services may not function properly. However, you can still place orders by contacting customer service. Google Analytics We use Google Analytics on our sites for anonymous reporting of site usage and for advertising on the site. If you would like to opt-out of Google Analytics monitoring your behaviour on our sites please use this link (https://tools.google.com/dlpage/gaoptout/)

Do we disclose any information to outside parties?

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.

Registration

The minimum information we need to register you is your name, email address and a password. We will ask you more questions for different services, including sales promotions. Unless we say otherwise, you have to answer all the registration questions. We may also ask some other, voluntary questions during registration for certain services (for example, professional networks) so we can gain a clearer understanding of who you are. This also allows us to personalise services for you. To assist us in our marketing, in addition to the data that you provide to us if you register, we may also obtain data from trusted third parties to help us understand what you might be interested in. This ‘profiling’ information is produced from a variety of sources, including publicly available data (such as the electoral roll) or from sources such as surveys and polls where you have given your permission for your data to be shared. You can choose not to have such data shared with the Guardian from these sources by logging into your account and changing the settings in the privacy section. After you have registered, and with your permission, we may send you emails we think may interest you. Newsletters may be personalised based on what you have been reading on theguardian.com. At any time you can decide not to receive these emails and will be able to ‘unsubscribe’. Logging in using social networking credentials If you log-in to our sites using a Facebook log-in, you are granting permission to Facebook to share your user details with us. This will include your name, email address, date of birth and location which will then be used to form a Guardian identity. You can also use your picture from Facebook as part of your profile. This will also allow us and Facebook to share your, networks, user ID and any other information you choose to share according to your Facebook account settings. If you remove the Guardian app from your Facebook settings, we will no longer have access to this information. If you log-in to our sites using a Google log-in, you grant permission to Google to share your user details with us. This will include your name, email address, date of birth, sex and location which we will then use to form a Guardian identity. You may use your picture from Google as part of your profile. This also allows us to share your networks, user ID and any other information you choose to share according to your Google account settings. If you remove the Guardian from your Google settings, we will no longer have access to this information. If you log-in to our sites using a twitter log-in, we receive your avatar (the small picture that appears next to your tweets) and twitter username.

Children’s Online Privacy Protection Act Compliance

We are in compliance with the requirements of COPPA (Childrens Online Privacy Protection Act), we do not collect any information from anyone under 13 years of age. Our website, products and services are all directed to people who are at least 13 years old or older.

Updating your personal information

We offer a ‘My details’ page (also known as Dashboard), where you can update your personal information at any time, and change your marketing preferences. You can get to this page from most pages on the site – simply click on the ‘My details’ link at the top of the screen when you are signed in.

Online Privacy Policy Only

This online privacy policy applies only to information collected through our website and not to information collected offline.

Your Consent

By using our site, you consent to our privacy policy.

Changes to our Privacy Policy

If we decide to change our privacy policy, we will post those changes on this page.
Save settings
Cookies settings

Discover more from Power Apps Viking

Subscribe now to keep reading and get access to the full archive.

Continue reading