What are power apps?
Power apps are a simplified way of creating mobile or desktop apps with little or no coding. They are best suited to replace paper trail applications
Advantages of power apps
- Integration – Easy integration into other Microsoft products e.g. outlook emails, excel, sharepoint, azure
- Low code required – End users with little or no knowledge of coding, can design an application. All the api work and backend coding is taken care for you so you just need to worry about the design and implementing business logic.
- Security – Uses Azure active directory for secure identity
- Data protection – Data stored and backed up in data centres near you
- Customization – Allows customization using custom code and plugins
Limitations of power apps
- Can only share the app with users within your organisation and not the public
- Some controls have limitations e.g. Bing maps control cannot be used with custom tables
Canvas vs Model-driven Apps
There are two ways of implementing power apps, as a Canvas app or a model-driven app. The main difference between these two methods is the approach i.e. for canvas app, you start with the UI which is achieved by drag and dropping controls while for model-driven apps, you start by design the database then the UI is determined by the components. The detailed differences are outline below
|Canvas Apps||Model-driven Apps|
|Implementation Approach||UI first – You design UI then build the logic into the app||Data first – You design the database first then UI later|
|UI||More flexible – achieved by drag and dropping controls||Less flexible – determined by components which depends on the data type|
|Device||Mobile device – Best suited for mobile devices due to its extensive UI options||desktop apps – Best suited for desktop apps but the design is responsive hence can also be viewed in mobile devices including charts|
Model-Driven Apps Basics
Below are the basic concepts for model-driven apps.
1. Environments – Environments are containers that help you organise your work. For example you can have development, test and production environments. Each environment will have its own database instance.
2. Create solution – Solutions contain the app and its components such as tables, dashboards and are used to move the app between environments by exporting, zipping and importing the solution.
3. Converse Database – This is the default database for power apps and contains three types of tables:
- Standard tables – Each database instance comes with predefined standard tables which are found in most application e.g. users table, accounts table, priority table. You have the option to use these standard table provided or create your own custom tables. With the standard table, you can choose which columns to use and even add your own custom columns and remove the unwanted columns.
- Activity tables – Used to store data that can be logged in a calendar such as events. They contain start and end dates with various status. An activity table will also have extra features such as ability to call or email against that table.
- Virtual tables – Used to represent read-only data from external sources e.g. when integrating two systems
4. Views – Views are used to display the data. Each table has its view. By default we have three views
- Main View – Used to display the main data. Involves drag and dropping the required columns to display
- QuickForm View – Used to display summarized information inlookups
- Card view– Used display compact information e.g in interactive dashboard
5. Forms – Forms are used to capture data for that table. The design is similar, drag and drop the required components to capture the data e.g for a boolean field we would use a switch control while for a simple text we could use an label.
- Main form – Used to capture data to create new rows
- Quick create form – A simplified form used to capture basic information. You can later enter more details in the main form
This is the app’s navigation system. You design how apps components come together usually in a left menu bar. There are 3 concepts in a site map
- Area – This appear at the bottom and change the entire left menu. Used for high level categorization e.g. in a rental system you can have a Finances Area and Assets Area.
- Group – Main Sections used to group related items e.g. in the Assets Area you could have a Property Group which will contain Apartments, Townhouses, Villas etc.
- SubArea – These are the items contained in a group e.g apartment.
Business process flows – Enforces standard execution of a task i.e. ensures users flow the same steps every time and consistent data entry
Workflows – Occur automatically in the background without users input using Power Automate e.g. sending an email. There are various flows as described below
- Cloud flow – They include instant, automated or scheduled flows created using connectors
- Automated flows – Triggered by event e.g. company mention in social media
- Instant flows – Start automation from a button click
- Scheduled flow – Occurs periodically e.g. daily, monthly
- Desktop flow – Automate repetitive desktop processes using Power Automate desktop e.g. creating folders with certain naming convention.
Connections provide a relationship between two records. Useful when you want to specific the duration of the connection especially when you can have multiple associations over time e.g an account/organisation can have many contacts during certain periods. Power apps come with default connections such as Employer, Former employer, Parent, Child etc.