Uno Platform Enlisted for Windows Community Toolkit Labs Makeover
· By David Ramel
Microsoft has teamed with Uno Platform to revamp its Windows Community Toolkit, a collection of helpers, extensions, and custom controls for building UWP and .NET apps for Windows.
The makeover right now mainly involves the dev team reworking the backend infrastructure of the project, but the plan is to streamline and simplify things to eventually support building single-codebase components that can run on UWP, WinUI 3, and WebAssembly with Uno Platform — basically all the UWP XAML-based platforms.
The infrastructure revamp resulted in a new name for the kit that will be the center of all development efforts going forward: the Windows Community Toolkit Labs, providing a one-stop-shop for kit “experiments” that encapsulate code with associated documentation, samples, and tests. travelworldinfo
The room for experimentation allows for development without the associated pressures of introducing high-quality components into the project GitHub repo for further development, which was a problem the dev team faced with the old way that provided a high bar for code quality and stringent, time-consuming vetting processes for newly introduced features.
“Windows Community Toolkit Labs provides us the means to take features from ideas and prototypes all the way to finalized components in a collaborative and low-barrier environment,” said Microsoft’s Michael Hawker, senior software engineer, in a July 20 blog post. “We can make changes in Labs, try out new ideas, and not worry about having code needing to be completely ‘shippable’ to make its way to the repository like we do today.” marketoinsight
The dev team will be careful about adding new components (experiments) during the revamp, but current samples can be viewed online. That functionality comes with the enlistment of open source Uno Platform tech, which helps developers create pixel-perfect, single-source C# and XAML apps running natively on Windows, iOS, Android, macOS and Linux — and on the web via WebAssembly. Uno Platform and Microsoft have teamed together on other projects — mainly around WinUI 3 — and that collaboration continues with the Labs makeover. In fact, Microsoft’s dev team plans to work with the Uno Platform team to integrate the latter’s “Uno Platform port of Windows Community Toolkit” fork into the Labs project’s new main GitHub repository. That fork is a port that allows for Uno Platform-based apps to use Windows Community Toolkit for WinUI 3 on Windows, iOS, macOS, Android, WebAssembly and Linux.
“Every experiment in Labs lets you seamlessly run and test your component against UWP and WinUI 3 or run samples in your browser with WebAssembly on Uno Platform,” Hawker said.
Current samples include CanvasLayout, ContentSizer, GridSplitter and more.
While the revamp is underway, work will progress toward the next release, v8.0. Highlights of that, according to the release plan, include:
· Leverage new tooling/improvements for project structure/samples/documentation/testing from Toolkit Labs for Windows.
· Maintain a single branch for all platform targets (e.g. UWP and WinUI 3)
· Ship all targeted platforms in a single NuGet package and namespace under CommunityToolkit.WinUI.*
· Simplifies documentation and samples across platforms
· Enables library and app developers to multi-target platforms and share XAML
· Aids in transitions from UWP to WinUI 3 in the long-term.
· Seeded with code from our existing winui branch.
· Rename or Archive existing CommunityToolkit/WindowsCommunityToolkit repo when migration is completed.
“Our plan is to focus on merging our branches and supporting running components on UWP, WinUI 3, and WebAssembly with Uno Platform,” Hawker said. “We also intend to use this effort to improve our samples and documentation as part of our ongoing consolidation of our docs to their new home.”
About the Author
David Ramel is an editor and writer for Converge360.