Latest Posts

Canvas App

Model Driven App

You get a blank screen, you can add components on the screen to build your UI and of course you get a lot of choices for the backend (database) as well

Most of the components in the app are based on the data you choose. This data is stored in dataverse.

You have complete UI Control

You can do very limited amount of UI customization

You can choose Microsoft Dataverse (formerly CDS) and many other data sources as backend using connectors.

Only Dataverse can be used as backend

This is not responsive. You can create app in either portrait or landscape mode.

This is responsive. Unlike Canvas app, this will render itself to match the device resolution.

Migration becomes difficult between different environments as in case of different database other than datavese.

Migration is easy as it has only Data verse as backend.

The time for completion of app is mostly depends on the complexity of the project

The app can be created rapidly.

Manipulation of the control can be done via Microsoft Power Fx expressions.

No need to write code for the app components.

Version Control is supported

Version control is not supported. Once you create, it can only be modified by the subsequent changes/deployments.

Yes, you can use On-premises data gateway for that.

Note: The solution given here is in Experimental phase (as of Jan 2022) and might not be available in future.

This feature needs to be turned on from Canvas App >> File >> Settings >> Advanced Settings >> Experimental Feature >> Formula-level error management.

After turning on the feature, you can use functions like

  • IfError – It tests given value until it finds error. In case of error, it returns alternate value provided in function
  • IsError – It tests given value for the error and returns True or False (bool) based on the output.
  • IsBlankOrError – It tests given value for either blank or error and returns True or False (bool) based on the output.
  • Local Variable (Context variable): UpdateContext() and Navigate() function are used to set the local variable. The scope of the variable is the entire App
  • Global Variable: Set() function is used to set the global variable. The Scope of the variable is the screen itself.
  • Global Variables: Collections are used to store the table and once the collection is set, it can be referred from anywhere in the app.

Whether you are an app creator, admin or simply an app user, you need a license to use PowerApps.

There’s no way you can use PowerApps without license.

Yes, you can. Canvas apps can be shared with guest users of an Azure Active Directory (Azure AD) tenant.

Canvas app is by default not responsive. But you can make it responsive.

The task is very humongous because you need to customize each and every screen and control to fit to the device width and height.

  • Use less connectors. More connector means more time the app will take to login to each connector and then open. According to Microsoft, don’t use more than 30 connectors in the app.
  • Don’t use too many controls in the app. To be specific try to limit them to 500.
  • You can use Set() function to store the data especially when you try to retrieve from a datasource. Repeating data source connection will make your app slower.
  • Try to optimize Onstart property.
  • You can use Concurrent() function to execute multiple methods parallelly.
  • You should try to minimize control dependencies between the screens. E.g. screen 1 textbox control is dependent on screen 2 label. Screen 2 Textbox is dependent on Screen 5 field. This will lower the performance of the app.
  • Use functions to delegate the data processing to the data sources rather than fetching the data and processing them in Powerapp.
  • Power platform updates and optimizes continuously. It is advisable to publish the apps regularly.
  • Don’t use repeating formulas. If the formula is complex, store the output in a variable and use that.
  • Enable DelayOutput on all the text input controls.
  • Use DelayItemLoading and Loading spinner to improve performance in Gallery.
  • Try to avoid using Form.Updates in rules and formulas because if you refer user input value using Updates, it iterates through all the data card of the form and creates a record each time. Refer the value directly from the data card or the control value.

Right now, Co-authoring is not possible in Canvas app.

There is one new feature (Git Version Control), but it is in experimental phase (as of Jan 2022).

  • You CAN share with
    • The User Name for individual sharing.
    • Specify a security group in Azure Active Directory for sharing to a group of people.
    • To allow entire organization, specify Everyone in sharing panel.
  • You CAN’T share with
    • Distribution group
    • Group outside your organization

As of now (Jan 2022), there is no OOB way to use native REST-API calls directly from PowerApps.

But you can create custom connectors and utilize REST-APIs.

  • Canvas apps are not responsive so you may need to create 2 different versions. One for landscape and one for portrait view.
  • Only one developer can work at a time on canvas app, Co-authoring is not allowed.
  • Cannot integrate REST-API, JavaScript in PowerApps forms.
  • It works on licensing model. Licensing model is too complicated to understand that sometimes the cost increases too quickly for advanced apps.
  • It is made especially for citizen developer, but complicated business applications can’t be developed and handled by them. We need experienced developers for that.
  • PowerApps Offline capabilities are not robust. A lot of customizations are needed for that.
  • Model driven apps only support data verse as backend.
  • By default, app can retrieve only 500 items and you can retrieve maximum up to 2000 items but that will decrease the performance.
  • Power apps is made for organization’s internal use only. The app can be shared to the external/guest user of an Azure Active Directory (Azure AD) tenant.
  • PowerApps empowers citizen developers to build their own applications, without needing a specialize developer.
  • It enables rapid application development.
  • We can use wide variety of Microsoft and 3rd party connectors to leverage benefits from the other applications.
  • Easy connection with Power Automate
  • You should use Power Apps portals to create external-facing, responsive and interactive websites that allow users outside their organizations to sign in with a wide variety of identities, create and view data in Data verse, or even browse content anonymously.
  • Power Fx is low code programming language which is used to write logic and expressions in PowerApps.

    • This is an open-source language
    • This is based on Microsoft Excel formulas.

PowerApps allows you to create Mobile Apps that can run on Android, iOS, Windows (Modern Apps) – and with any Internet browser on desktop device.

  • SharePoint
  • SQL Server
  • Oracle
  • Data verse
  • Office 365
  • Salesforce
  • Twitter

PowerApps Templates are premade apps that you can use to create apps quickly. You can also add your customizations in that app.

Yes, we can embed Canvas App in model-driven app.

  • Desktop flows are used to automate tasks on the Web or the desktop.
  • It enables you to automate all repetitive desktop processes.
  • Automated flows– This type of flows run when any triggering action occurs, like row creation or deletion, email arrival.
  • Scheduled flows– This type of flow runs at a scheduled time, like daily data upload, weekly status mails.
  • Business process flows– This type of flow runs through stages. Each stage represents a step of the flow.
  • Button flows/Instant flows– This type of flow gets executed when you manually start Like when you start the flow by clicking on a button of an app.
  • Desktop flows - Desktop flows are used to automate tasks on the Web or the desktop
  • UI flows – This flow introduces RPA (Robotic Process Automation)capabilities in Microsoft flow

Power Automate Templates are premade flows that you can use to create quick flows for your organization. You can find the best matching flow with your required scenario and then you can add your customizations in the flow.

Power Apps is a platform used for rapid application development.

Power Apps is a software development kit for Microsoft Office 365 and the Windows Azure cloud.

More details

Dataverse (or formerly CDS – Common Data Service) lets you securely store the data used by business applications.

Data in Dataverse is stored in set of tables.

  • Management: Dataverse schema and data both are stored in cloud.
  • Cloud Storage: It provides cloud-based storage so that you can access data from anywhere.
  • Security: Provides Role based security so that you can control the access of the tables.
  • Dynamics 365 Data: Dynamics 365 applications data are also stored in Dataverse. So now you can quickly build your PowerApps and use Dynamics 365 data.
  • Data Types: It is designed to work with any type of data, and it incorporates most of the data technologies like relational, non-relational, data lake, image, file, search.
  • Designer: Daraverse gives us visual designer to create tables, columns, views, rules quickly, using which we can quickly setup our database.
  • Virtual Tables: Dataverse supports Virtual tables where you can use external database tables within Dataverse.

A virtual table is a custom table in Microsoft Dataverse that has columns containing data from an external data source. This enables Dataverse to execute real-time data operations against the external data source.

Virtual tables appear in your app to users as regular table rows but contain data that is sourced from an external database, such as an Azure SQL Database.

There are two types of apps.

  • Model-Driven Apps
  • Canvas Apps

The Microsoft Power Platform is not just PowerApps, Power automate and Power BI.

You can connect three of them together and to Microsoft 365, Dynamics 365, Azure, and hundreds of other apps—and build end-to-end business solutions.

  • Power BI – You can create lots of data driven analytical reports that empower your team to discover insights hidden in the data.
  • Power Apps - Increase agility in your daily work across your organization by rapidly building low-code apps that modernize processes and solve tough challenges.
  • Power Automate – You can Streamline repetitive tasks and paperless processes with Microsoft Power Automate
  • Power Virtual Agents – You can quickly build sophisticated, AI-powered chat bots for a range of requests—from providing simple answers to common questions to resolving issues requiring complex conversations.
  • Interview and HR process
  • Leave application management
  • Holiday reminder emails
  • Exit interview process
  • Organization growth charts and mail send
  • By default, you can fetch only 500 items in PowerApps.
  • You can extend this limit till 2000 items from Power Apps settings.
  • You can delegate the data processing to the source database and fetch only required row so that it doesn’t take more time processing the data in PowerApps.
  • Right now, delegate function is supported only in
    • Dataverse (Formerly: Common Data Service -CDS)
    • SQL Server
    • SharePoint

PowerApps Delegations in detail

In PowerApps when you are working with the data sources (CDS, SQL, SharePoint, etc…), the data processing tasks are assigned to data sources rather than done by PowerApps itself. This is called PowerApps Delegations.

PowerApps Delegations in detail

Yes, you can use On-premises data gateway for that.

We value your Feedback:

Page URL:







© 2024 Code SharePoint