Uno Platform Boosts .NET MAUI Embedding, Helps Revamp Windows Toolkit

Uno Platform shipped a new release that adds .NET MAUI embedding, fresh on the heels of helping Microsoft completely revamp its Windows Community Toolkit.

The same-named company and open source project seems to be strengthening its ties with Microsoft, which now features this Uno Platform description at the end of some developer blog posts: "For those new to Uno Platform -- it allows for creation of pixel-perfect, single-source C# and XAML apps which run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly."

Uno Platform this week announced Uno Platform 4.10, which is highlighted by .NET MAUI embedding that was added in response to community requests to enable .NET MAUI-specific controls for mobile, Mac and Windows scenarios only. .NET MAUI, for those who don't know, is described by Microsoft as the "evolution" of Xamarin.Forms as it adds the ability to create desktop apps in addition to Xamarin's traditional iOS and Android targets.

"With the 4.10 release, Uno Platform allows for embedding .NET MAUI-specific controls from all leading 3rd party vendors like Syncfusion, Grial Kit, Telerik, DevExpress, Esri, Grape City, and the .NET Community Toolkit," Uno Platform said. "Keep in mind that this cross-platform approach works only for target platforms .NET MAUI reaches -- iOS, Android, MacOS and Windows."

Furthermore, because Uno Platform mobile apps are pure native .NET apps -- and .NET MAUI controls are native also -- an app created on the platform is a pure native app that "feels right" on its target OS, which Uno Platform said provides "a delightful user experience."

More on .NET MAUI Embedding can be found in Uno's ".NET MAUI Embedding" guidance.

[Click on image for larger, animated GIF view.] ShadowContainer in Animated Action (source: Uno Platform).

Along with the .NET MAUI embedding, several other new features are detailed in the announcement post, ranging from ShadowContainer support to lightweight styling on app, page or control level.

Windows Community Toolkit
Coincidentally, Microsoft also yesterday announced Windows Community Toolkit v8.0, a collection of helper functions, custom controls and app services for Windows app development that has undergone a complete revamp with the help of Uno Platform.

"If you're new to the Toolkit, the Windows Community Toolkit is a collection of controls for WinUI 2, WinUI 3, and Uno Platform developers!" Microsoft said. "It simplifies and demonstrates common developer tasks building experiences for Windows 10 and Windows 11 with .NET."

[Click on image for larger view.] Windows Community Toolkit (source: Microsoft).

The new update of the kit, which is stewarded by the .NET Foundation, is a complete re-work of the prior product. The revamp was needed after the dev team realized it wasn't feasible to maintain two independent branches (WinUI 3 and the WindowsAppSDK) of the toolkit with completely different namespaces, package identities and codebases. Thus the dev team embarked on an overhaul to not only allow targeting multiple platforms from a single codebase but also make it much easier to develop, maintain and contribute toolkit components.

As such, the update features many breaking changes, new features and revised documentation/guidance.

Microsoft emphasized some features added over the seven-year life of the project couldn't be migrated in the initial transition -- which focuses on UWP and Windows App SDK compatibility -- so they won't be available on all platforms because of platform limitations or unimplemented APIs.

The announcement post details a long list of known things not included in the update, along with other migration notes.

[Click on image for larger view.] Sample Gallery (source: Microsoft).

As far as new features added, they can be checked out in the Toolkit Gallery (see graphic above), which itself has undergone a major overhaul. Along with some style updates, Microsoft listed some new features including:

  • Overhauled GridSplitter, now with ContentSizer and PropertySizer: "The new Sizers package introduces a revamped GridSplitter (adopting a modern look-and-feel, improved behavior, and more wpf polyfills) and two new controls: ContentSizer and PropertySizer."
  • HeaderedTreeView: "The new HeaderedControls package (which contains the HeaderedItemsControl and HeaderedContentControl) now introduces a new component: the HeaderedTreeView."
  • Segmented Control: "The new Segmented control lets users pick one of several options. This is a great control to allow users to e.g. set filters, or to changing a view. With new, built-in, styles you can easily customize this control to fit for your app experience."
  • Settings Controls: "The new SettingsCard and SettingsExpander makes it super easy to create great looking settings experiences: flexible, yet very simple to use. Some of our built-in apps (like Store, Photos and Media Player) are already powered by these new controls!"
  • StackedNotificationsBehavior: "Replacing the InAppNotification, the new StackedNotificationsBehavior allows you to provide notifications within your app using an InfoBar control."

Uno Platform has published "How to use Windows Community Toolkit" documentation. Microsoft meanwhile, said a good way for developers to get involved with the open source project is through the Windows Community Toolkit Labs, described a place where the team can incubate and iterate over new ideas, try things out without worry, check community usage, and then decide to bring new bits into the main repository when they're ready and well-tested.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


Subscribe on YouTube