Last year in October, I announced a new project code-named Croft.Core.UWP, a library containing core, common functionality that most developers will look to use in their UWP applications from value converters to visual state triggers. Fast forward to February of this year where a decision was made to finally rename the project from Croft.Core.UWP to WinUX with a release of version 1.2. With the recent release of version 1.3, another decision was made to turn the WinUX project into separate components so your own projects weren’t dependent on a lot of functionality that you might not need in your project which will make it easier for you as a developer to pick and choose the parts you want to use.
In a series of blog posts over the next few weeks, I’ll cover what the WinUX toolkit contains and what it can do for your own UWP applications. I’ll split the posts down into the features available and continue to keep you posted as new features are added.
Before that happens though, here’s an overview of what WinUX is and how you can get involved in it’s development.
What is WinUX?
As a general overview, WinUX is an essential toolkit that allows developers to easily get started with their own applications containing a collection of XAML controls, value converters, behaviors, visual state triggers and extensions that will be commonly used in most apps.
Why was WinUX created?
I’ve been developing Windows applications since the Silverlight days of Windows Phone 7 back in 2010. With each project that I worked on, I had noticed a pattern of me constantly repeating similar code across them all. At the time, this was a lot of copy and pasting until I created a small, unorganized library which I started building. Every time I created a new project and felt that a feature wasn’t tied down to the project, I’d add it to the library.
With time and experience, I started to add structure to the library, eventually deciding that it was a project I could see being used by others and now we have WinUX.
Where can I get WinUX?
If you’re looking for the source code, you’ll find it hosted in this public GitHub repo. The decision to make the project public is so that others can actively contribute towards the project, adding any code from their projects that they feel would enrich the WinUX library for others or just fixing up issues that they find in what’s already available now.
If you’re looking to get started with it in your application, you can either get the source from the GitHub repo above, or you can get it from NuGet by searching for WinUX. You’ll find all of the available components as well as the whole package.
I hope that the WinUX library can make a difference to your project and more than anything, speed up the development of it too. If you find issues with WinUX, please help us track them using the issues section in GitHub, or even better, grab the source from GitHub, fix the problem area and submit a pull request!