Skip to content
All posts

Power Apps Application Template Shell

Full Playlist

When I start a new project, I do not start from scratch! I’d like to share with you guys what I start off with: my application shell Power Apps template! Here are elements of an application I need for each Power Apps project I work on:

  • Dynamic Theming – I have found that the theming inside of Power Apps is very limited and actually can change properties of controls suddenly. There are so many of the themes defined in Power Apps, and you can’t add to or modify them. So, I like to create my own dynamic theming system.
  • Wait Spinner – You need to have an animated graphic to indicate to the user that the app is working and not frozen, for example, when updating your data source.
  • Application Header – You want to have a familiar and predictable look and feel throughout your application. An application header goes a long way towards this. Perhaps your user uses many Power Apps applications. What’s the name of the application they are currently in? Why not display the organization’s logo and branding at here? You may want to show who the system recognizes the user as in the upper right corner like most other applications and web sites they are used to seeing.
  • Screen Heading Component – More than likely, your application has more than one screen. You should let the user know what screen they are on and give an indication on what they should be doing there. Example: “Customer Edit Screen”
  • Nav Menu Component – Unfortunately, Power Apps simply does not have a menu control. You need to have a navigation system in your application which is easy for your user to use to get around. You will want this to be dynamic so that if you add a new screen, you just update it in one place and then all the screen’s menus are updated and work as expected.
  • Security Groups – In any application you build, there will be at least two types of user: normal users and super (or admin) users. I like to have another group, which is for developers (myself or any other co-owners of the app). There will be screen that only the devs should use, for example, testing or troubleshooting. Which takes us to the next key feature…
  • Debug Feature – There are elements you only want to show up for you, as the developer, or for those who are helping you test, debug, or troubleshoot issues in your application. In this case, it is important that you have a toggle in place and conveniently accessible that will show/hide these debug elements. This has saved me so much time in my projects.
  • App.OnStart Code – This is the heart of initializing your application. There is a fair amount of application plumbing that will be here and a major portion of it will be “common denominator” logic you will want in all your applications.
  • Code in Screen.OnVisible – There are basic things you may want in every screen’s OnVisible event, such as turning on your spinner UI elements and logging user activity. Any initialization you need to do for any screen should be here too.
  • Deep Linking – This is a way to have a user click on a link from an email or a bookmark, and have a user load up your Power Apps to a particular screen or even a certain record on a screen. This would be needed for an approval workflow you’re setting up, for example. A good application shell will already be set up for this.

Here are the color themes currently defined, but you can extend and create/customize your own:

Grab your copy of this application shell here:

What do you normally start off with? Here is a very brief demo / run-through of my application shell / template:

Once you have the application shell, or have built one, this is how you would use each of these features: