Microsoft Plans .NET Community Toolkit
As the .NET development ecosystem evolves and consolidates with .NET 6's new and updated components, Microsoft is revamping associated toolkits.
One example is the replacement of Xamarin toolkits with .NET MAUI alternatives as the open source NET Multi-platform App UI (MAUI) project replaces Xamarin.Forms while adding desktop apps to Xamarin's traditional support of iOS and Android mobile projects.
Another example is the Windows Community Toolkit -- formerly the UWP Community Toolkit -- now becoming just part of the GitHub organization now called Community Toolkit, which Microsoft announced last week. And beyond that, the company plans to introduce a brand-new offering, the .NET Community Toolkit.
These kits typically are collections of helper functions, custom controls and app services designed to simplify and demonstrate common developer tasks for projects of varying types. For example, the Windows Community Toolkit delivered via a Visual Studio NuGet package can be used to build apps for any Windows 10 device, including PC, Mobile, Xbox, IoT and HoloLens.
Its evolution into just part of the Community Toolkit reflects how the project has grown to encompass these offerings:
- Windows Community Toolkit
- Graph Community Toolkit
- MVVM Toolkit
- MAUI Community Toolkit
"A while back we started talking to the Xamarin Community Toolkit team, and we decided it'd be best to align our efforts and resources together as we move forward on new technologies like WinUI 3 and .NET MAUI," said Michael Hawker, senior software engineer, Windows & Devices, in a July 27 blog post. "As they recently announced, they've joined our GitHub organization for their next project creating the MAUI Community Toolkit.
"Our GitHub organization has thus been renamed as
windows-toolkit) to encompass our broader scope of projects under its purview within the .NET Foundation. This will hopefully be the last rename of our organization for a while (it's only the 2nd time we've done it!). This new name also reflects the new package identity root we've been planning to move towards,
CommunityToolkit.*, on NuGet as well; as we called out in a previous post for WinUI 3."
Hawker also announced the plans for the .NET Community Toolkit as the team seeks to be the home of .NET-based Community Toolkits that strengthen ties between the community and engineers, Microsoft MVPs and respective dev teams. To help with that, the team is splitting out its .NET-specific libraries from the Windows Community Toolkit into a separate dedicated repository for
CommunityToolkit.Common helpers, the MVVM Toolkit, the High Performance, and the Diagnostics packages.
"By centralizing this code in its own home, we can better share it with the other .NET-based toolkits we have within our organization," Hawker said. "It also makes it easier for any .NET developer and developers from each of our more framework-specific toolkits to contribute back components that are platform and framework agnostic."
He said the new offering will debut in the next several months.
More information on the Windows Community Toolkit can be found in its wiki and documentation.
David Ramel is an editor and writer for Converge360.