ComponentOne is .NET 6 Ready
As a leader of .NET components, we are excited to announce that ComponentOne is .NET 6 compatible with Microsoft's latest release. Our compatibility includes new .NET 6-based WinForms & WPF controls and .NET 6 support across our ASP. NET Core, Blazor, and Data Services components. We've worked with Microsoft to ensure support for these controls with Visual Studio 2022.
While the full ComponentOne 2021 v3 release is slated to launch next month, we've made the latest .NET 6 controls available today through GitHub and Nuget. This blog will show you how to use the controls today and share some .NET 6 highlights and migration tips.
Learn more about ComponentOne's .NET 6 plans
Sign up for our .NET 6 Release Webinar on 11/16
Sign Up Now! (Webinar Sign Up Closed).NET 6 and Visual Studio 2022 Highlights
.NET 6 will finish the unification of .NET, such as expanding to iOS and Android with MAUI and support for AOT and desktop in Blazor and performance improvements. Plus, Visual Studio 2022 brings its own set of improvements.
Better Performance in .NET 6
.NET 6 sees an unbelievable number of performance improvements finding their way into the JIT (just-in-time compiler), which is used to generate assembly code at runtime and AOT (ahead-of-time compilation).
Plus, Microsoft has demonstrated improvements in garbage collection, threading, JSON serialization, and much more.
Earlier this year, we published a detailed performance report for FlexGrid, our most popular .NET datagrid control, which compared performance for .NET 5 versus .NET Framework across several common operations.
We found the .NET 5 version had up to 1.7x better performance for painting and column sizing, and it used less memory compared to .NET Framework. The .NET 5 FlexGrid is the basis for our new .NET 6 version, so we expect performance to remain as good, if not better.
Unification with Mobile Apps
As Microsoft recently announced, MAUI will not officially release with .NET 6 but remain as a preview. We plan to release a preview of our WinUI controls - FlexGrid and Calendar - before the end of the year. Our controls for MAUI will start slow and stay on track with Microsoft's release plan.
Design-Time Tools
With .NET 6, working with UI components is easier. Our new design-time tools allow quick configuration of the components without writing as much code.
Our ComponentOne controls have Smart Tags that highlight key properties and save time finding them in the property grid editor for WinForms. Also, we have implemented richer, contextual-based design-time editors for some of our most complex UI controls like C1Ribbon.
For WPF, all of our .NET 6 controls have support for Suggested Actions. This feature is similar to the Smart Tags and can be opened by clicking the lightbulb above the control on the design surface.
They include key properties and actions that save you coding time. For example, the filter row feature in FlexGrid requires extra XAML markup, and this Suggested Action generates it for you.
Additionally, you'll notice high DPI support in our WinForms controls. This was introduced in the .NET 5 version.
Get Started with ComponentOne .NET 6 Controls
Today we've released .NET 6 preview versions of ComponentOne WinForms and WPF controls to nuget.org. In this preview we've also introduced many new controls like TrueDBGrid and Scheduler.
You can find them by searching C1.* on NuGet and look for the 6.0 versions (you may have to check 'include pre-release'). The .NET 6 controls will officially be released with our 2021 v3 release on December 8th, 2021.
The quickest way to get up and running with these controls is to download the samples from GitHub:
- Download ComponentOne WinForms .NET 6 Samples (GitHub) - .NET 6 under 'Next'
- Download ComponentOne WPF .NET 6 Samples (GitHub)
Or in a new .NET 6 application, you can add the control packages from nuget.org.
ComponentOne .NET 6 Controls Roadmap
We unveiled our .NET 5 migration plan for our WinForms and WPF controls around this time last year. This migration process involved implementing new .NET 5-based libraries for our most popular controls and then moving down the list. The .NET 5 codebase is the starting point for .NET 6 and all future versions of .NET.
We plan to support each version of .NET similar to Microsoft, with even numbers being LTS (at least three years). Of course, we will continue to support and maintain .NET Framework 4.5+ simultaneously, and we still provide some older versions under maintenance mode.
To date, the following ComponentOne controls are now available in .NET 6.
-
WinForms: C1FlexGrid, C1FlexChart, C1Ribbon, C1Sparkline, C1SuperTooltip, C1Icon, C1ExpressionEditor, C1RulesManager, C1InputPanel, Themes, C1TreeView, C1Input (C1NumericEdit, C1TextBox, C1Button, C1ComboBox, C1Label, C1MaskedTextBox, C1CheckBox, C1PictureBox, C1Splitbutton, C1RangeSlider, C1DbNavigator, C1FontPicker, C1ColorPicker), C1FlexReport, C1FlexViewer, C1Document, C1FlexPivot, C1Maps, C1BarCode, C1Bitmap, C1Command (C1CommandDock, C1ContextMenu, C1DockingManager, C1DockingTab, C1MainMenu, C1ToolBar), C1DataFilter, C1PdfDocumentSource, C1TouchToolkit, C1TrueDBGrid, C1Scheduler, C1MultiSelect
-
WPF: C1FlexGrid, C1FlexChart (FlexPie, FlexRadar), C1Input (C1MaskedTextBox, C1NumericBox, C1RangeSlider, C1FilePicker, C1HyperlinkButton, C1ColorPicker, C1ComboBox, C1DropDown, C1SplitButton, C1DateTimePicker, C1TimeEditor, C1DatePicker), C1DockControl, C1RichTextBox, C1TabControl, C1TreeView, C1DockPanel, C1WrapPanel, C1DX, C1ActivityIndicator, C1ScrollViewer, C1Window, C1FinancialChart, C1DataPager, C1DataFilter, C1FilterEditor, C1Expander, C1Maps, C1FlexPivot (C1Olap), C1Ribbon (C1Toolbar/C1SimplifiedRibbon), C1RichTextBoxRibbon, C1RichTextBoxToolstrip, C1Scheduler, C1MultiSelect, C1Calendar, C1ProgressBar, C1Accordion, C1DragDropManager, C1SpellChecker, C1RadialMenu, C1PropertyGrid, C1ProgressBar, C1ContextMenu.
Working with .NET 6 and ASP.NET Core or BlazorOurr web controls (Blazor and ASP. NET Core) also support .NET 6 using the latest version. They are based on .NET Core 3.1. In our 2021 v3 release we plan to release .NET 6-based Blazor controls, which will offer some improvements, such as no longer needing to manually add the references to scripts and JavaScript files for each control library.
Working with .NET 6 and the ComponentOne WinUI Beta
Our WinUI controls are still in beta, and we plan to release production-ready .NET 6 versions of these controls with our v3 release on December 8th, 2021. You can continue to trial the beta version in Visual Studio 2022 by running the included samples.
Migrating to .NET 6
We still see many developers working with WinForms and WPF as a component vendor, even though those platforms matured 10-plus years ago. .NET 5 brought many new capabilities to your applications, including single-file applications, performance improvements, web and cloud investments, and ARM64 support.
.NET 6 continues to improve this list as mentioned above. But most significantly, .NET 6 is now LTS (long-term support) which means Microsoft is committed to supporting it for three years compared to one for .NET 5.
.NET 6 only improves and adds to .NET 5 so migrating from .NET 5 to .NET 6 is as easy as just switching your application's target framework. Right-click your project in the Solution Explorer to set the target framework.
This works in theory. Microsoft has published a list of breaking changes in .NET 6, which are related to ASP.NET Core.
Then update your ComponentOne controls - the .NET 6 versions use the same package name as .NET 5, so using the Updates tab of the Nuget Package Manager is enough.
If you are targeting .NET Framework and thinking of migrating to .NET 6, it should be about the same effort as migrating to .NET 5, if not easier since .NET 6 has expanded .NET 5 support. Migrating .NET Framework apps to .NET 5 is pretty straightforward.
About 50,000 .NET Framework APIs were included in .NET 5. You should follow the tips we shared in our previous blog about migrating a WinForms application.
Why Migrate to .NET 6
.NET 6 is the next step forward for desktop applications built on WinForms and WPF because it unifies development across the web, cloud, mobile, and gaming by providing a single .NET runtime and SDK.
Earlier this year we surveyed our readers on .NET 6 migration, and 39% of developers said they were interested in migrating immediately.
Unifying the .NET Framework, .NET Core, and Xamarin/Mono will make our lives easier by providing components for all of these different versions of .NET. It will make application development more manageable in the future as companies may feel less stuck in one platform. F
or example, a WinForms app migrated to .NET 5 can be more easily moved to the web as a Blazor app.
Sign-Up for ComponentOne's .NET 6 Webinar
New to .NET 6 or .NET development? Get everything you need to know about .NET 6 and professional desktop application UI with our webinar next week.
- Get up to speed with what ComponentOne UI controls offer for .NET developers
- Learn the benefits of .NET 6 compared to .NET Framework
- See our .NET 6 roadmap as it pertains to all ComponentOne products
- See our popular desktop controls in action as we build a .NET 6 application in Visual Studio 2022
Learn more about ComponentOne's .NET 6 plans
Sign up for our .NET 6 Release Webinar on 11/16
Sign Up Now! (Webinar Sign Up Closed)