Before we head much further into the new year, I wanted to share the product roadmap for ComponentOne. We have many new items already in development that we're excited and ready to share. 2020 will be a big year for .NET with the advancements of .NET Core and .NET 5. As such, a lot of our focus will be around supporting these new platforms, while also continuing to deliver enhancements for existing frameworks.
The top priority for ComponentOne in 2020 will be continuing support for .NET Core 3.x and releasing .NET 5 versions of our WinForms and WPF controls. In a survey, we sent out last month we found that a good number of developers plan to migrate their existing apps or start new development with .NET Core. For us, this support will include updating our controls to work in .NET Core 3.1 apps and ultimately take advantage of newer .NET features such as high DPI. We are excited about what .NET 5 will bring for developers, and we can't wait to see what Microsoft has in store.
With every new library we ask ourselves - can this be .NET Standard? This is the direction we are moving in with every new component library we create. We strive for cross-platform consistency and code re-use, not just on our end but for our customers' benefit as well. We've noticed a trend toward more services development and less reliance on a particular UI framework. For this reason, we plan to build upon our .NET Standard service components for data-centric solutions. Plus, even for the UI controls you'll be seeing more .NET Standard libraries shared across platforms.
For .NET Standard, we'll be releasing a data connectivity library for performing any data operation, such as queries and updates, against a variety of supported data sources. The Data Connectors will provide a common interface for accessing popular data services, including Dynamics365, SalesForce, Google Analytics, and QuickBooks Online. The data connectors connect to internet-based sources that expose data through OData or REST-based API's with known data access technologies such as ADO.NET & Entity Framework Core. The connectors can be used in conjunction with our other unique offering, Data Engine, to get high-performance in-memory data caching & analysis.
With Data Engine and Data Connectors, you'll be able to connect to and merge data from disparate data sources, perform fast data analysis in memory, and query against millions of records in seconds.
Blazor is the newest .NET platform used for writing client-side and server-side web apps completely with C#. We are enthusiastic about this new platform and bringing a lot of our existing controls over. In the beta, released in late 2019, we introduced FlexGrid and several input controls. For 2020 we plan to expand the collection to include data visualization and some additional data filter and input controls that will enhance the grid and chart-focused offering. We will officially release our Blazor edition in the first release of 2020.
Our focus with Blazor has been on the server-side, which is ideal for intranet applications. Microsoft still considers the client-side in preview and, as such, it has some issues with performance and the runtime size that need to be addressed before it will be used in real-world applications. We are optimistic that Blazor will become a popular web solution for .NET development.
For WinForms controls in 2020, we will continue to support the latest version of .NET Core within our .NET 4.5.2 controls and begin to roll out .NET 5 built controls to fully take advantage of the new platform. For those developers not moving to the newest version right away, rest assured we are planning to continue support for .NET 4.0 and .NET 4.5.2 libraries, which were just released last year. The table below shows our level of support for each .NET Framework as of February 2020.
.NET Framework
|
Supports .NET Core
|
Supported in 2020
|
Supported after 2020
|
Will include new controls & features in 2020
|
---|---|---|---|---|
.NET 4.0 | No | Yes | Yes, until 2021 v2 | No |
.NET 4.5.2 | Yes | Yes | Yes | Yes |
.NET 5 | Yes | Yet to be released | Yes | Yes |
In addition to continuing support for .NET Core 3.1+ and releasing a new version of controls built-in .NET 5, the following UI enhancements are planned for 2020.
In early 2020 we'll be adding the new FilterEditor control to WinForms Edition. With FilterEditor the end-user can fully customize multiple, nested condition filters at runtime using AND/OR. It can be used with any data-aware control like a grid, list or chart.
Since FlexGrid is one of our most popular WinForms controls, we are committed to continuously add value and time-saving features. Some of these features are extensions to FlexGrid, and others will be separate libraries that may even be used with other controls. But they are primarily intended to bring useful improvements to FlexGrid.
We plan to provide several enhancements and quality-of-life improvements to our WinForms GanttView control. These improvements will focus on extensibility and user interaction. For example:
For our WPF controls, we plan to continue .NET Core support in the .NET 4.5.2 libraries and release .NET 5 libraries for most of the controls by the end of 2020. The table below shows our level of support for each .NET Framework as of February 2020.
.NET Framework
|
Supports .NET Core
|
Supported in 2020
|
Supported after 2020
|
Will include new controls & features in 2020
|
---|---|---|---|---|
.NET 4.0 | No | Yes | Yes, until 2021 v3 | No |
.NET 4.5.2 | Yes | Yes | Yes | Yes |
.NET 5 | Yes | Yet to be released | Yes | Yes |
In addition to expanding support for .NET Core and .NET 5, the following UI enhancements are planned for WPF in 2020.
The new DataFilter control for WPF is a combination of a slicer and intelligent filter UI. This control is based on the same in WinForms and lets users filter data based on multiple conditions. It can be bound to any data-aware like datagrids, lists, treeviews, charts, maps or with a model. The DataFilter could be used in dashboard applications to slice data from a familiar, e-commerce filter panel as you see on Amazon.
Later in 2020, we'll be adding the new FilterEditor control from WinForms Edition to WPF Edition as well. With FilterEditor the end-user can fully customize multiple, nested condition filters at runtime using AND/OR. It can be used with any data-aware control like a grid, list or chart.
Material Design has been well-received across multiple platforms, and its simple, flat, colorful design will soon be coming to WPF. Material themes (dark and light) are an easy method for modernizing the visual appearance of your apps.
A file manager control that integrates with Cloud Storage API’s for listing, downloading, uploading, deleting and moving files. This control lets you quickly build-in file management to any web app. For example, enable end-users to bring in a file from their Cloud Storage all within the browser.
The new .NET Core Visitor Web API collects user data such as IP, Geographical location, language, referring site, session, operating system, device, browser. It's useful for web developers to customize content for individual users.
For Xamarin we plan to release a few significant new controls and enhancements. FlexViewer will get printing support, export support, dark & light themes, as well as outlines. We also plan to bring the Data Filter control to the Xamarin.Forms platform. This control is based on the same in WinForms and WPF, and it lets users filter data based on multiple conditions. It can be bound to any data-aware like datagrids, lists, treeviews, charts, or maps. The DataFilter could be used in mobile app drawer to slice data from a familiar, e-commerce filter panel as you see on Amazon
In early 2020 we will roll out an improved installer for Mac users and Visual Studio for Mac. This will allow developers on a Mac to easily install ComponentOne products such as Blazor, Xamarin, ASP.NET MVC, .NET Core and service components. Currently, we just have a dedicated installer for Xamarin. Later in the year, look forward to Visual Studio for Mac project templates and wizards.