Simplifying our ASP.NET Control Suites

Writing for the web these days is very different from that a few years ago. The same goes for our control suites for ASP.NET: over the past decade we've evolved our original WebForms subscription in many different directions, and currently have five different suites, each different from each other, each providing slightly different capabilities:

DevExpress ASP.NET Classic WebForms Controls

DevExpress ASP.NET Classic MVC Controls

DevExtreme MVC Controls (for ASP.NET MVC and ASP.NET Core)

DevExpress ASP.NET Bootstrap for WebForms

DevExpress ASP.NET Bootstrap for ASP.NET Core

Of course, these choices don't even factor in the other parts of our DevExtreme product that cater to the pure client-side development community.

In essence, it has become more and more complicated and difficult for us to recommend a particular web control suite for new and existing customers. It is past time to simplify things.

We've taken a good long look at what we have, what is being installed and developed with out there, what feedback we have received from customers, and what would make the most sense to change. As a result we have come to the decision to retire the DevExpress ASP.NET Bootstrap for ASP.NET Core suite.

Rationale for the decision

So why simplify? The first reason: less confusion.

In providing two major libraries for use with ASP.NET Core, it was confusing for you, our customers, which library was the best choice. And similarly, confusing for us to make a recommendation. (The main difference between the two products boils down to the DevExtreme MVC controls providing client-side rendering and the DevExpress ASP.NET Bootstrap controls being server-side. As it happens, client-side rendering works extremely well with the ASP.NET Core framework.)

Second, and more boring perhaps, is the resources problem. Simple and obvious enough to state: by maintaining one product instead of two means that we'll free up development and support resources so that we can introduce new features more quickly and with more impact to you, our customers.

Third, and perhaps more contentious, is that we believe the DevExtreme MVC Controls provide a much better alternative than the Bootstrap suite. For example, the DevExtreme MVC Controls work both with ASP.NET Core and ASP.NET MVC. They leverage modern web approaches by using client-side rendering (JavaScript) and supporting REST API. By having separate data services (Web API), it allows for:

Decreased maintenance costs

Improved scalability

Decoupled server and client (each can be modified independently)

Use of the same data API from mobile apps (native or hybrid)

Future-proof (client can be replaced with some new modern technology without rewriting the server-side)

Improved performance and user experience

This allows the DevExtreme MVC Controls to work better with the new ASP.NET Core framework than do the DevExpress ASP.NET Bootstrap for ASP.NET Core controls. And, of course, the DevExtreme MVC Controls also include support for Bootstrap themes.

Time for maintenance mode

In conclusion, from this point forward, we are placing the DevExpress ASP.NET Bootstrap controls for ASP.NET Core into maintenance mode. Maintenance mode means that the code will continue to work as is, the documentation and demos will stay online, the product is still supported, we will fix bugs when we (or our customers) find them, however, we will not be introducing any new features. Additionally, we have removed the option to purchase or renew the product.

In short, if you're using these controls today, then by all means continue to do so. We do not, however, recommend starting any new projects with this suite, and would ask that you consider switching to our other controls for ASP.NET Core: DevExtreme MVC Controls.

Migration?

The two suites are different enough that unfortunately a direct migration is not possible. If you are already using the Bootstrap-capable controls, here's what I recommend:

Just continue using them; after all, even in maintenance mode, they are still supported. Just be aware that you will not get any new features.

Start using the DevExtreme MVC controls in your projects (you can use both types of controls in one project), and slowly replace the Bootstrap controls you've used with the DevExtreme MVC controls.

For new projects, just use the DevExtreme MVC controls

Future Plans

We'll continue to grow these existing DevExpress ASP.NET offerings:

DevExtreme MVC Controls (for ASP.NET MVC and ASP.NET Core) - This is a robust library that works great for both ASP.NET MVC and ASP.NET Core. If you want to use ASP.NET Core then use DevExtreme MVC Controls.

DevExpress ASP.NET Boostrap for WebForms - Currently, we only offer 35+ controls for Bootstrap (WebForms). We plan to increase this number and bring over the major office controls too (Spreadsheet and RichEdit). In general, if you use our classic controls ASP.NET WebForms then you should consider using the DevExpress ASP.NET Bootstrap controls for ASP.NET WebForms instead.

DevExpress ASP.NET Classic WebForms Controls - This amazing library of controls offers over 100+ controls and several great features.

DevExpress ASP.NET Classic MVC Controls - The ASP.NET MVC version of our Classic WebForms Controls, this library is another popular choice for developers. Learn more about our MVC controls offerings here.

Feedback

We'd like hear your feedback about this topic:

Have you used DevExtreme MVC Controls with the ASP.NET Core framework yet?

What prevents your from using DevExtreme MVC Controls?

What controls and/or features are you missing from DevExtreme MVC Controls?

Good to hear. Please keep working towards making your ASP.Net products non-dependent on the full .Net framework. .Net Core is the way forward for all things Microsoft so please follow suit.

13 August, 2018

Mehul Harry (DevExpress)

@Brien, The ASP.NET WebForms & MVC controls are doing well and we have future plans to grow them.

13 August, 2018

JavaJoe

This is the right thing to do.

13 August, 2018

Cory Crooks

Hmm... I would've thought you would keep a foothold in Server Side rendering for ASP.NET Core. Any plans for expansion on getting Office-ified controls on the ASP.NET Core side then? Something like a Ribbon?

13 August, 2018

Mehul Harry (DevExpress)

@Raymond, yes, as you saw from v18.1, many of the DevExpress products are supporting .NET Core.

15 August, 2018

Mehul Harry (DevExpress)

@Cory, we've had discussions about bringing the Ribbon control to ASP.NET Core before. It's something I hope we'll bring in a future release so please stay tuned to our blogs, newsletters, etc.

15 August, 2018

Armando Costa 1

I started using DevExpress 1 year ago and it seemed to me that bootstrap core was the way to go... so ... you make a new suite and drop it in a very short period of time.

Well, what can I say !

Now I need a way to redo my project in MVC, can you put some help to convert it at least ?

If you need more help, then please contact our excellent support team about any specific issue.

21 August, 2018

David Evan K

IMO an ASP.Net Core Application which has a front end (Razor engine) tightly coupled with back end (C#, or other .Net supported language) is not an extensible design choice considering the heterogeneous device and server environment we now live in.

In our shop we thus maintain a strict separation of concerns between front end and API components. For the most part these are HTML5 components on the front end and ASP.Net Core API (no Razor component) back ends.

An ASP.Net Core Application has come to mean something more than an API. As an Application it is again tying together front end Razor components to an ASP.Net core back end similar to a now legacy ASP.Net MVC application or a ASP.Net Web Form application.

This is OK for those folks who can comfortably say that their components will never need to be split between front end and API as separate components. But to me those folks, in today's real world, heterogeneous environment of separate devices talking to APIs on separate servers, aren't in the situation I find myself with my customers.

As it already impacts Dev Extreme, We even ran into a specific problem where your developers couldn't support a file upload from a pure HTML5 form to an ASP.Net Core API without the Razor dependencies of an ASP.Net Core Application, and in a way where exceptions on the server are returned to the client in a managed way.

23 August, 2018

David Evan K

To me personally I think you should use bootstrap everywhere. IMO it is the most mature HTML5 adaptive front end library that I've seen today, and it is ubiquitous at this point.

23 August, 2018

Twjones

Good Job!

As .Core is obviously the future, Do you have a guideline document for those migrating their projects from Asp.Net MVC to DevExtreme MVC ?

31 August, 2018

Mehul Harry (DevExpress)

@David,

Thanks for the feedback. Regarding the upload issue, could you please email me at mharry@devexpress.com?

As for Bootstrap, we agree and we support it with our web controls: DevExtreme, DevExtreme MVC, ASP.NET MVC, ASP.NET WebForms, and, of course, the DevExtreme Bootstrap WebForms controls.

4 September, 2018

Mehul Harry (DevExpress)

@Twjones,

Please take a look at the "Migration?" section of this blog post. Thanks.

4 September, 2018

Angelo Bevilacqua 1

Regarding :

"In general, if you use our classic controls ASP.NET WebForms then you should consider using the DevExpress ASP.NET Bootstrap controls for ASP.NET WebForms instead."

Any plans on having the same themes available in the bootstrap suite (for example Material or Material Compact) ?