The Microsoft Power Platform 2021 release wave 2 is out. There are so many features which I really love: from user experience improvements, low code and pro dev features. My highlights are about the new possibilities to build apps and the features towards the transition to converged app. And of course the PCFs features, the building blocks of every app.
The starting point for app makers: the new app designer. We can build forms, views, dashboards, use it to create both model-driven and canvas apps.
Also the new maker portal will offer full customizing power, which makes the classic designer deprecated. Let’s say goodbye to an old friend which is retiring. It accompanied us for so many versions and years.
The apps converge and begin to surface inside other platforms like Microsoft Teams and SharePoint. But they need first to come closer to each other, and allow the makers and pro devs to build theme-aware components. A first step will be using the Fluent concepts.
In Wave 2/2021 we get a unified infrastructure for themes across model-driven and canvas apps. This feature will enable context and host-aware themes for browsers and embedded mode in Microsoft Teams.
The apps maker will be excited to get theme-specific objects, used for component defaults which support dynamic switching. The pro devs will have a supported way to build and deploy code components that can be themed. This will apply also for code components in canvas apps.
Somehow related to the previous feature, and definitely a big step towards converged apps: the Fluent UI controls which we already know from Microsoft Apps for Teams will be available in Power Apps Studio, to build modern canvas apps.
The components and component libraries feature in canvas apps can be used to build reusable and centrally managed low-code UX components. They offer a centralized control on upgrade, update and ALM support. The users will be able to package and ship component libraries and apps using solutions.
Component libraries will also add support for new Fluent controls and Power Apps component framework code components (PCF) for custom pages.
[Edit] Read more about component libraries here.
[Edit] Matthew Devaney posted a blog about how the component libraries are working.
There are a lot of great features dedicated to a better user experience in this wave. You can find them here. From all of them I’ve picked the one which gives me more power to design the user experience: the side panes. Model-driven apps now support the ability to have multiple app-level side panes. This is a collection of tabs, each with a different pane.
Each pane can have a badge over the tab icon to draw the user’s attention.
This is different than opening a dialog on the side as in the image below. On the right side you see a custom page opened using the Xrm.Navigation.navigateTo using the target type dialog (2) and the position 2 (on a side). It could have been a list or a form, that’s already available since a while. But the rest of the form is grayed out and we cannot interact with it. That’s different than the side panes.
The side pane builds on the legacy loadPanel API which was limited to a single pane. That experience is moving into the app side pane and allows additional panes to be added.
A set of new client APIs will be introduced to create and manage multiple side panes. The pane can open pages in a way similar to how the
navigateTo API works, and it allows either in-place navigation or opening in another part of the app. Not only views and forms can be opened, but also the new custom page with out-of-the-box or custom components.
[Edit] Mehdi El Amri shared in his blog that the sdk API will be Xrm.App.sidePanes.
(1)💜PCF improvements and PCF for Portals
Definitely the feature I’m most excited about. PCFs are already in GA for both model-driven and canvas apps. The features that are coming mean more power and better performance, using the capabilities developed for the internal first-party components.
For canvas apps we get:
- Virtual components and shared libraries support: will enable code components to use system React and Fluent libraries. Developers can also create their own shared libraries that can be used across code components.
- PCFs will have support for events in line with the canvas apps native components. This will enable developers to define custom events that can be raised by code components.
For model-driven apps:
PCFs supports simple lookup and multi-select option set (Choices) type, and properties of these new types can also be added. Additional framework APIs on the canvas apps will be added, which approaches model-driven app parity.
For portals: Wave 2 brings the GA.
- Field components on forms: This type of code components will allow fields on portal forms to be replaced with code components. After the configuration of the code component in the corresponding table form in Microsoft Dataverse, the code component will be enabled on the portal using a basic form or an advanced form’s step metadata configuration.
- Components on webpages: Adding code components directly on page using liquid tags will be allowed. The following is an example of how the sample 3D viewer code component added using liquid tag looks on a page inside a portal.
- Web API support : PCFs will support WebAPI also for portals. We will be able to make CRUD operations using the PCF context.webAPI feature.
The portals are getting some more exciting features: like Custom Action support, and support for CI/CD configurations. Have a look here, for more details.
Excited? I can see these changes transforming the apps towards the converged experience, and I can hardly wait to experience it. And of course I’m excited to experience the new PCF possibilities. But the Wave 2 2021 has much more to offer. What are your top features?