Uno Platform Enlisted for Windows Community Toolkit Labs Makeover — Visual Studio Magazine


The Uno Platform has signed up for the Windows Community Toolkit Labs Redesign

Microsoft has partnered with Uno Platform to revamp its Windows Community Toolkit, a collection of wizards, extensions, and custom controls for building UWP and .NET apps for Windows.

The current redesign primarily involves the development team reworking the project’s backend infrastructure, but the plan is to streamline and simplify things to eventually support building single-code-based components that can run on UWP. , WinUI 3, and WebAssembly with Uno Platform — basically all UWP XAML-based platforms.

The infrastructure overhaul results in a new name for the kit that will be central to all development efforts going forward: Windows Community Toolkit Labs, providing a one-stop shop for kit “experiments” that encapsulate the code with associated documentation, samples and tests.

The breadboard allows development without the pressures associated with bringing high-quality components into the project’s GitHub repository for further development, which was a problem the development team faced with the old method. which provided a high bar for code quality and rigorous time. cumbersome verification process for newly introduced features.

“Windows Community Toolkit Labs provides us with the means to take functionality from ideas and prototypes to finalized components in a collaborative, low-barrier environment,” Microsoft senior software engineer Michael Hawker said in a blog post. of July 20. “We can make changes in Labs, try out new ideas, and not worry about having code that needs to be completely ‘shippable’ to make its way to the repository like we do today.”

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

The development team will be careful about adding new components (experiences) during the redesign, but current samples can be viewed online. This feature comes with enlistment of the open-source Uno Platform technology, which helps developers build single-source, pixel-perfect C# and XAML apps that run natively on Windows, iOS, Android, macOS, and Linux – and on the web through WebAssembly. Uno Platform and Microsoft have partnered on other projects – mostly around WinUI 3 – and that collaboration continues with the Labs redesign. In fact, the Microsoft development team plans to work with the Uno Platform team to integrate the latter’s “Uno Platform port of Windows Community Toolkit” fork into the new main GitHub repository of the Labs project. This fork is a port that allows applications based on the Uno platform to use Windows Community Toolkit for WinUI 3 on Windows, iOS, macOS, Android, WebAssembly, and Linux.

In the online Labs sample app, current toolkit samples include CanvasLayout, ContentSizer, GridSplitter and more.

“Every experiment in Labs allows you to seamlessly run and test your component against UWP and WinUI 3 or run samples in your browser with WebAssembly on the Uno platform,” Hawker said.

In its own post, Uno Platform said, “Uno Platform and its support for WebAssembly power Windows Community Toolkit Labs’ full web experience, for both its UWP and WinUI implementations. so that the community can try without any development environment needed!! The Uno platform is deeply integrated with Toolkit Labs’ framework, allowing it to not only build components, but also run its sample app on all of the different platforms the platform supports. -Uno form.

“As the Toolkit Labs infrastructure progresses, the goal is for it to power the Windows Community Toolkit as a whole, allowing many WCT components to run smoothly on the Uno platform. and for all developers using UWP and WinUI/Windows App SDK.”

While the redesign is underway, work will progress to the next version, v8.0. Highlights of this, according to the release plan, include:

  • Take advantage of new tools/enhancements 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 application developers to target multiple platforms and share XAML
    • Help with transitions from UWP to WinUI 3 in the long term.
  • Seeded with code from our existing winui branch.
  • Rename or archive the existing CommunityToolkit/WindowsCommunityToolkit repository after the migration is complete.

“Our plan is to focus on merging our branches and supporting runtime 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 continued consolidation of our materials in their new home.”

About the Author

David Ramel is an editor and writer for Converge360.

Briana R. Cross