Power Apps is a great tool for building useful applications quickly for your organization. While it may seem like a no brainer tool on the surface, there are techniques and methods that are helpful to understand when building a Power App. Using these techniques will speed up development of your applications, reduce frustration for the “citizen developer” and produce an overall better user experience.
If you’ve worked with Power Apps at all you’ve probably created applications having multiple screens and figured out pretty quickly that you can speed up development by using the good ol’ copy and paste method. Insert a control, style it how you like, then when you need it again you can copy and paste it to a new screen. Maybe you’ve even gone so far as to create a “starter” application with a screen having a “library” of controls all formatted and styled to meet your standards. This method works fairly well. But, if you’re using this technique to propagate the application header or footer to all screens in the application, there is an even better way… enter the `Component`. By making your header a component you're creating a control that can be utilized throughout your application. In the event that you need to change the logo in the header, or add secondary text to the header, you can make the change in the component and that change will automatically happen anywhere you're using the header component, eliminating the need to copy and paste the change.
Now that we're using components, what happens if you decide the theme or brand colors should change? If you’ve worked with Power Apps before you are probably familiar with the `App OnStart` options for setting up brand colors for your application. While these settings are readily usable in the standard form controls, it may not be readily apparent how to apply this same concept for components. Fortunately, components provide something called parameters. A key to applying branding to our components is identifying the specific brand elements we want to use within our component. This may be as simple as defining the primary and seconary text colors. By creating parameters for each of these elements, we enable the ability to link the branding properties into the component.
Now that we’ve created a component, what if we want to use this same component in another application? There are actually a few different ways to import components, but the current recommended approach is the `Component Library`. Utilizing a `Component Library` has a number of benefits including speeding up development, introducing consistency in applications across the organization, and versioning which offers PowerApps developers notifications when components are updated and enables them to adjust their applications in response to versioned changes.