Mehul Harry's DevExpress Blog

This Blog


Mehul Harry is the DevExpress Web Program Manager. Follow him on twitter: @Mehulharry

Subscribe (RSS, Email)


  • DevExtreme ASP.NET Core Templates Deprecation for VS2015 - v18.1

    Starting with the v18.1 release, the DevExtreme ASP.NET Core project templates will not be available in instances of Visual Studio 2015. You'll need to have Visual Studio 2017 or higher to use these templates.

    Here's why:

    1. In Visual Studio 2015, only the .NET Core projects based on project.json are supported. However, these projects have been replaced with the MSBuild/csproj (see announcement).

    2. The .NET Core Tooling for Visual Studio 2015 is still in the 'preview' stage and will not be developed further.

    Therefore, you will not be able to create new DevExtreme ASP.NET Core projects in Visual Studio 2015. You can still open and work with existing projects. However, for creating new projects, you will need Visual Studio 2017 (or higher).


    If you don't have Visual Studio 2017 installed then you can use the following workaround:

    1. Create a new standard ASP.NET Core application
    2. Then manually add DevExtreme resources

    However, I don't recommend using project.json for new projects.

    There is also a free community edition of Visual Studio 2017 available too.

    Please leave me a comment below if you doing any ASP.NET Core development in Visual Studio 2015. Thanks!


    Twitter: @mehulharry

  • DevExtreme - Access v18.1 Features Today for Early Testing

    While the DevExtreme team is working hard on new features for the v18.1 final release, they've been publishing several pre-releases on GitHub.

    We'd love to get your feedback, so please get involved by downloading, testing, and letting us know your experience.

    DevExtreme v18.1 Pre-releases

    Note: This is pre-release software, so please, consider yourself warned.

    Early Testing

    Many of the v18.1 upcoming features are inspired by existing/reported customer issues. By providing early build access, we'd like to know if our solution will address the problem or if the scope of the problem is bigger than we originally thought.

    Your testing and feedback can help us to change and deliver the final implementation. As you know, the best time to fix or improve source code is before the final RTM release. This way, we can avoid future unexpected breaking changes that may creep in.

    So please get involved because taking part in early testing results provides several benefits such as:

    • Confidence that feature implementation fits your application specifics;
    • Fewer breaking changes after the final release (because we'll include fixes before the next major release);
    • Increase overall product quality;
    • Align team efforts with customer needs;

    How to test?

    If you'd like to test out the features in your application then follow the installation instructions from that release description.

    Look through the releases page (pre-releases are marked with a special red label). The release will have a short "what's new" section.

    Alternatively, you can use the feature list available for alpha testing. Feel free to leave comments, report GitHub issues, or create tickets in our Support Center.

    The DevExtreme pre-release documentation is also available here:

    Note: Some parts of DevExtreme (ASP.NET MVC Controls, Visual Studio Tools, etc.) are not developed in the DevExtreme GitHub repo. However, you'll be able to download our pre-release installations. We'll notify you once we have something to show for these other pieces that are not available via GitHub.

    DevExtreme Roadmap

    To provide transparency with our DevExtreme customers, we'll be publishing a DevExtreme 2018 roadmap on soon. Because the client-side web world is notorious for changing drastically in a short period of time, we plan to update this new roadmap as needed.

    A public roadmap helps you to understand our vision for certain solutions.

    DevExtreme targets several platforms such as jQuery, Angular, React, Vue, ASP.NET MVC, and likely more in the future. DevExtreme is no longer one single repository but several that are developed simultaneously in many public and private repos. Therefore, the roadmap will include links to feature discussion pages (mostly on GitHub) where you can leave your feedback and discuss your questions directly with the DevExtreme developer team.

    To see what's coming out in 2018, then vote on your favorite features, and finally to get updates on our progress, here's what I recommend:

    1. Go to the recently published DevExtreme 2018 Roadmap. This is a styled as a survey to allow you to vote on our proposed upcoming features. Your votes are important to us so please go to the link above and give us your feedback.
    2. Then, check back regularly on the roadmap on the DevExtreme website for updates.

    Subscribe and Get Notified

    The best way to stay current with DevExtreme is to get notifications. There are lots of options that you can choose from too:

    • Subscribe to DevExtreme social networks accounts (we'll announce each pre-release)
    • Subscribe to GitHub Releases RSS feed
    • Use specialized notification services

    Try the latest DevExtreme pre-release version and please give us your feedback, thanks!


    Twitter: @mehulharry

  • Now available - The DevExpress NuGet Package Portal:!

    Check out our new portal for everything related to DevExpress NuGet packages:

    This new DevExpress NuGet portal will give you helpful information like getting started, resolving issues, using NuGet without an IDE, etc.

    Get Your Personal NuGet URL

    We're providing a personal NuGet URL for every registered DevExpress customer login. So if you haven't generated your personal URL yet then click on the 'Obtain Your NuGet Feed URL' button on the this homepage:

    More Platforms Supported

    In 2017, DevExpress provided several NuGet packages (mostly for our Web platforms). Today, we're expanding this offering to include in even more platforms:

    .NET Core & Free Trial

    I'm happy to announce that we're also offering our .NET Core controls via NuGet. Now you can try our .NET Core products on any platform: Windows, Mac OS, or Linux. You can also use an IDE of your choice: Visual Studio, Visual Studio Code, Visual Studio for Mac, or JetBrains Rider:

    The following support .NET Core:

    If you have a DXperience Universal license then you'll see these .NET Core packages in your NuGet feed. If not, then we have a free 30 day trial available for you, whether you are a customer or not. That means you get access to all the NuGet packages we make available, as a trial for 30 days.

    Note, that if you are a customer without DXperience Universal license then you can try NuGet packages that are not included in your DevExpress subscription currently with this free 30 day trial. And during your trial, you'll have access to our excellent support team.

    Getting started

    I recommend reading this blog post to learn how get your NuGet key.


    We've gathered the most popular issues that our customers have reported and created a helpful FAQ:

    These topics can help you to get started, solve possible problems, and get additional information about DevExpress NuGet.

    Are you using the DevExpress NuGet packages? Please leave a comment below (or email me) and your feedback will help us plan for future releases.



    Twitter: @mehulharry

  • DevExtreme Hybrid Mobile Tools Deprecation in v18.1

    Starting with the upcoming major release, v18.1, the DevExtreme hybrid mobile-related tools will be deprecated and placed in to maintenance mode. However, we plan to support creating mobile apps through popular hybrid frameworks, more on this later.

    Our hybrid mobile-related tools includes our SPA Framework and Visual Studio Mobile Tools. [Note, that the Knockout integration will not be deprecated and you can continue to use DevExtreme knockout bindings in your apps.]

    Maintenance mode means that we'll only fix critical bugs and not introduce any new features. Therefore, we do not recommend starting new projects with the hybrid mobile-related tools.

    Why deprecate the hybrid mobile tools?

    Here's four main reasons on why we plan to put our hybrid mobile tools in to maintenance mode:

    1. The DevExtreme hybrid mobile tools were great when we first introduced them, however, today there are other popular frameworks that provide similar benefits
    2. It's costly for us to support our hybrid mobile tools due to changes in dependent external tools and vendors
    3. This will free up the team to provide you the tools that you've been asking for
    4. You can replace some of our hybrid mobile tools with modern equivalents that are available today

    Rest assured that the DevExtreme brand and tools are doing great and will keep growing. We are only deprecating the hybrid mobile tools.


    Back in 2011, there was a lack of good hybrid mobile app frameworks that allowed you to build hybrid mobile apps with native looking UI and behavior. To address this market need for mobile, we launched DevExtreme. However, we designed DevExtreme as a product for both mobile (Cordova/ PhoneGap) and desktop web development.

    We loved that a client-side framework, based on JavaScript, is flexible and can be used in multiple scenarios. So, we decided to create DevExtreme using several aspects of hybrid web development:

    • UI controls and mobile themes (DevExtreme UI Widgets)
    • App layouts and navigation (DevExtreme SPA Framework)
    • Project seeding (DevExtreme Visual Studio Multi-Channel App Wizard)
    • Debugging and deployment (DevExtreme Visual Studio Mobile Tools)
    • Support the popular jQuery library
    • Support the promising KnockoutJS library

    That was many years ago and the landscape for hybrid mobile apps and client-side frameworks has changed.

    Current Landscape

    Today, there are three dominant client-side UI frameworks that developers are considering when starting a new web app: Angular, React, or VueJS. Yes, there are other frameworks too but they don't have a large userbase.

    Let's take a look at some client-side libraries and how they shaped our decision to deprecate our hybrid mobile tools:

    1. PhoneGap

    Adobe's PhoneGap has been around a long time and it continues to grow with new features and tools. Unfortunately, changes in PhoneGap causes headaches for our DevExtreme customers and the DevExtreme team too because DevExtreme hybrid mobile tools rely on PhoneGap.

    Another source of breaking changes affecting DevExtreme is Apple. Randomly, they may change the mobile app acceptance rules, deployment package requirements, or other hybrid mobile app requirement.

    Essentially, this causes the DevExtreme team to spend resources fixing external issues rather than providing more value to our customers.

    2. Angular

    Today, Angular is the most popular framework. It targets Angular developers, has thousands of contributors, and is quite mature now. In short, Angular provides a great framework for desktop web development. However, Angular has made tremendous progress in providing hybrid mobile development too by using tools like the Ionic Framework.

    It's also accompanied with a number of useful services for UI design, push notifications, DevOps, and other aspects of hybrid mobile development.

    3. React

    Facebook's React framework has been gaining popularity for the past few years. They also have a great mobile development framework called React Native. React Native allows you to build mobile apps with a native UI using JavaScript. Developers' experiences with React Native has drastically improved too with the introduction of the Expo toolchain. In fact, the React community is bringing new tools and improvements as it grows.

    4. VueJS

    VueJS is a young framework but with a rapidly growing community. It's difficult to predict the mobile future of VueJS, but some products such as Quasar or Weex might become mainstream for hybrid or native VueJS mobile development in the future.

    5. KnockoutJS

    DevExtreme provides deep integration with our controls and KnockoutJS. Unfortunately, there are fewer developers who use KnockoutJS each year.

    We'll continue to support KnockoutJS because our integration is mature and it doesn't take many development resources. However, we do not plan to base our tools on KnockoutJS in the future. Instead, we are looking forward to Angular, React, and VueJS tooling.

    Mobile Future of DevExtreme

    The future looks bright for DevExtreme because in addition to growing our support for more client-side frameworks, we have plans to provide you support to create hybrid mobile apps using other hybrid frameworks and without the deprecated DevExtreme hybrid mobile tools. In a future major release, we're planning to bring you things like Visual Studio wizards, app layouts, and modified mobile themes.

    However, you can create mobile solutions today with DevExtreme and a hybrid mobile app framework. For example, you can use the Ionic Framework and integrate the DevExtreme charts or other DevExtreme controls.

    Are you developing a progressive web app (PWA) for both desktop and mobile devices? Then you can seamlessly use rich DevExtreme UI controls in it as well.

    Alternative Recommendations

    Since our DevExtreme hybrid mobile tools are going in maintenance mode, we've come up with a few possible replacements that are available today. Let's take a look:

    • DevExtreme SPA Framework provides client-side application capabilities such as routing, navigation between views, app layouts, and view rendering and management. The modern frameworks we mentioned above like Angular, React, Vue, Iconic, etc. have these same capabilities out-of-the-box or as a separate npm packages that you can add. In a future major release, we plan to provide you new responsive app layouts that based on these modern frameworks and they will use DevExtreme controls in them. In essence, you'll have a File->New type of project template using Angular, React, etc and it will provide you a way for you to create new responsive web apps with DevExtreme controls.

    • DevExtreme Visual Studio Multi-Channel App Wizard is very useful because it allows you to get started quickly by building you a mobile solution based on your data. This wizard creates an OData web service, then scaffolds a DevExtreme SPA Framework application, and also generates the views based on the new OData service. I'm happy to say that we'll replace this wizard with similar tools that can generate an ASP.NET MVC/Core API back-end and Angular views that will be bound to it.

    • DevExtreme Visual Studio Mobile Simulator represents an in-browser HTML container for modeling real devices using screen size, orientation, and user agent. Google Chrome has a similar built-in feature. Moreover, it also simulates touch events. We recommend switching to Chrome's built-in tool.

    • DevExtreme Visual Studio Mobile View Designer is a tool for visually creating mobile views with DevExtreme controls using drag-n-drop operations. This tool isn't used much according to it our usage statistics and user feedback. Creating views via markup is a common task these days for web developers. We don't have any plans to replace this tool, but if you need, you can find free or commercial tools for mobile app prototyping.

    • DevExtreme Visual Studio Native Packer can create a native app package locally for uploading to Apple App Store, Google Play, and Windows Store. This functionality is available today from the PhoneGap Build service and we recommend using it instead.

    • DevExtreme Visual Studio Courier App is used for remote debugging of DevExtreme hybrid mobile apps by accessing a local web-server from the Internet using your mobile device via an HTTP proxy. These days, you can find several different tools to perform remote debugging of your mobile apps. For instance, if you target React Native, you can use the Expo Client app. If you target Angular then Ionic View is your choice. You can also use the ngrok service to access your localhost remotely. We recommend using one of these other remote debugging tools going forward.

    • DevExtreme iOS and Android Themes mimic native mobile apps appearance and behavior. We are going to replace the Android mobile theme with a modern Material Design one. The iOS mobile theme is going to be substituted with the improved Generic theme that will look very similar.

    Wrapping up

    So to recap, we are placing the DevExtreme hybrid mobile tools into maintenance mode because:

    • There are many great client-side hybrid mobile app frameworks available today
    • To avoid costly breaking changes and issues with mobile frameworks and vendors
    • DevExtreme will shift focus on providing great UI controls for existing popular client-side and hybrid frameworks

    As noted above, we have plans to replace some of these tools so that you can continue to build great UI in your apps that are client-side, hybrid mobile, PWA, etc.

    Help us by sharing your mobile strategy with us. Do you plan to develop mobile using one of the following?

    • Responsive website with PWA features
    • Hybrid Ionic
    • React Native app
    • Xamarin
    • Native mobile app
    • Or something else?

    Please leave a comment below or email me and your feedback will help us plan for future releases.



    Twitter: @mehulharry

  • DevExtreme Localization Adds Spanish and Brazilian Portuguese Languages (v17.2.5)

    Update February 22, 2018: Thanks to the excellent community of folks using DevExtreme, we now have Italian, French, Chinese, Czech, Swedish, and Finnish localizations of DevExtreme ready and will be available in the minor releases: v17.2.6 and v17.1.10.

    DevExtreme provides an easy way to localize UI widgets. It uses the localization module to load translations of specific captions/messages such as 'Back', 'Cancel', 'Select', 'Loading', 'Search', and others to the corresponding languages. The DevExtreme locale extensions are provided by separate ready-to-use predefined dictionaries with our installation. These dictionaries include all the captions, titles, and messages that are used in DevExtreme UI widgets.

    With the v17.2.5 minor release, DevExtreme now provides you the first community localizations for Spanish (es) and Brazilian Portuguese (pt-BR). This now make six languages that DevExtreme Localization provides messages for:

    1. English (en)
    2. German (de)
    3. Japanese (ja)
    4. Russian (ru)
    5. Spanish (es)
    6. Brazilian Portuguese (pt-BR)

    To localize dates, numbers, and currencies, you can use third-party libraries - Intl or Globalize. In addition DevExtreme allows you use Globalize library to localize messages. Learn more about Localization by reading this helpful blog post.

    GitHub Contribution

    In April 2017, we moved the DevExtreme library to GitHub which provides many benefits like access to pre-releases and sprints. However, it also means that our code is available to view and contribute to!

    In fact, these two new translations were provided by one GitHub community member. I'd like to thank GitHub user: @pedrofurtado for these contributions. I'd also like to thank users perrich, Laupe, and jdvjdv82 for their contributions too. Their contributions of French and Czech localizations are under review now and we'd like your help with these too.

    Help Us Translate

    We need your help to translate more languages.

    Specifically, we have two incomplete translations: French and Czech.

    Here's how to help:

    1. Read our Contribution Guide ( and Section 5 of the License Agreement (
    2. Fork the DevExtreme repository.
    3. Commit your translation to /js/localization/messages/ folder in your fork. We recommend you use the latest development branch (currently 18.1).
    4. Create a pull request - Our engineers will check it, merge it and cherry-pick to previous versions.

    We'll include these two new localizations in a future minor DevExtreme release (v17.1.10) too.

    Are you using DevExtreme with a different localization?

    Drop me a line below. Or better yet, post a screenshot link of your DevExtreme enabled website. Thanks!


    Twitter: @mehulharry

  • IE 9/10 (And Old Android Browsers) Support Ending in DevExtreme - v18.1

    In the next major release of DevExpress (v18.1), we are dropping support for Internet Explorer (IE) 9 and 10 in DevExtreme and dependent products. The following subset of products will be affected:

    • DevExtreme
    • XAF Web & Mobile
    • The following ASP.NET controls and their MVC extensions (these controls are built with DevExtreme):
      • ASPxQueryBuilder
      • ASPxWebDocumentViewer
      • ASPxReportDesigner
      • ASPxDashboard
      • ASPxDashboardViewer

    We actually wanted to drop support in 2017 but we know that there is a small subset of our customers who are still using and still need IE 9/10. This is also why we've been prolonging our support for IE9/10 in other ASP.NET controls for a while

    In a few months when v18.1 is released, DevExtreme controls (client-side and MVC) will no longer support IE 9/10. I recommend upgrading to the latest versions of IE, however, Microsoft recommends that you switch to Microsoft Edge. Of course, there's plenty of other great browers available like Chrome, FireFox, etc.

    Microsoft no longer supports IE9 and IE10

    Microsoft has stopped supporting IE9 and IE10 since January 12, 2016. It officially claims that:

    Beginning January 12, 2016, only the most current version of Internet Explorer available for a supported operating system will receive technical supports and security updates. Internet Explorer 11 is the last version of Internet Explorer, and will continue to receive security updates, compatibility fixes, and technical support on Windows 7, Windows 8.1, and Windows 10.

    According to the world-wide browser usage statistics the IE versions older that 11 share just about 0.1% of users.

    Modern Browsers, ftw!

    However, it's now time to move on. For us at DevExpress, it's a costly proposition to support older browsers. There's the need for compatibility testing, for patching older versions for our support, but there are two overriding concerns:

    • Because these older browsers are no longer updated, there is a great risk of security breaches for you, your users, and your organization.
    • We cannot take advantage of modern web technologies (and approaches). That means we cannot deliver the best possible performance, user, and developer experience with DevExpress products. This is especially so for modern client-side JavaScript applications that need modern browser features.

    In short, that's why we've made the decision to remove explicit support for IE9 and IE10 in the set of products mentioned above and we strongly encourage you to do the same, if you have not already done so.

    Old Built-in Android Browsers

    An excellent feature that we want to utilize for DevExtreme is CSS Flexbox Layout. Unfortunately, it is not supported in the old built-in Android browsers (up to Android 4.3.x). Therefore, will stop supporting old Android browsers in v18.1 as well. Be aware, this might affect those who are developing hybrid mobile apps for Android.


    I would love to hear your feedback on this decision.

    Will this affect you?

    Drop me a line below or email me.



    Twitter: @mehulharry

  • Upgrade to jQuery v3.x - DevExpress Controls

    On January 18th, 2018, two moderate security vulnerabilities in jQuery were discovered (CVE-2016-10707, CVE-2015-9251):

    These vulnerabilities are specific for jQuery versions older than v3.x and we consider them to be relatively low in severity because:

    • CVE-2016-10707 - does not affect jQuery v1.x/2.x nor jQuery v3.x. It’s a transient issue which existed in a specific pre-release build

    • CVE-2015-9251 - While this vulnerability could “expose your site to XSS attacks”, the pre-conditions to this are not common. The app must connect to 3rd party hosts and those hosts need to be hacked/misconfigured

    However, if you've not upgraded to jQuery v3.x yet, we encourage you to for two main reasons:

    1. jQuery v1.x and v2.x are officially at end-of-life
    2. To patch your website of these recent vulnerabilities

    In this post, I'll discuss which DevExpress controls use jQuery, how to update them, and our future plans.

    DevExpress Plans

    The DevExpress ASP.NET (WebForms, MVC, and Bootstrap) controls use jQuery v1.1.x. (We embed jQuery libraries delivered in our assemblies only if Embedding Third-Party Libraries is enabled).

    Prior to v17.2, jQuery was obligatory for DevExtreme projects. Since v17.2, it's optional but still widely used by lots of DevExtreme users.

    We plan to update to jQuery v3.x for past minor releases and upcoming major releases. Switching to a different jQuery version could lead to a breaking change so we are performing serveral tests before we update to jQuery v3.x.

    The DevExtreme MVC controls will be upgraded to use jQuery v3.x in the following releases: v17.1.10, v17.2.6 (coming soon), and the next major release v18.1.

    The DevExpress ASP.NET MVC controls' project templates will be upgraded to jQuery v3.x in the upcoming v17.1.10 and v17.2.6 minor releases. Then, in the v18.1 major release, we'll update all ASP.NET controls (WebForms, MVC, and Bootstrap) to use/reference jQuery v3.x.

    However, we recognize that many developers use jQuery independently from our controls and to you, I would recommend upgrading jQuery too (with proper testing).

    Upgrade jQuery

    The v17.2.6 minor release will be available in a couple of weeks and I recommend that you install that for the easiest way to upgrade to jQuery v3.x.

    You can upgrade your website that uses the DevExpress ASP.NET controls, DevExtreme MVC Controls, or DevExtreme client-side controls today because they both support jQuery v3.x.

    The jQuery team has provided an excellent upgrade guide:

    Because there have been major changes in jQuery from v1.9/2.0 to 3.x, they've created a helpful jQuery Migrate Plugin:

    For my own sites and blogs, I’ve used jQuery Migrate to identify problem areas (and they were few and far between, generally to do with methods that had been deprecated). jQuery Migrate does two things: it logs problems to the console (so you can see what needs changing), and it also adds back the deprecated stuff. In other words, the JS on one’s site still works and you get an indication of what to change in order to upgrade. - Julian Bucknall, DevExpress CTO

    Note: For the client-side DevExtreme controls, you can also upgrade to jQuery v3.x or you can change the underlying client-side framework. However, this is a costly suggestion and one that you're not likely to do unless you're starting a new project. In which case, consider using Angular or React (which do not rely on jQuery).

    If you run in to any issues then please contact our support team and they can help you.



    Twitter: @mehulharry

  • Watch: Getting Started with DevExtreme MVC Controls

    Check out these great videos that will help you get started using the DevExtreme MVC Controls:

    DevExtreme ASP.NET MVC Tutorials - YouTube Playlist

    The videos are all about five minutes or less so that you can get started quickly using DevExtreme, DevExtreme MVC Grid, and the DevExtreme MVC Charts:


    Be sure to also subscribe to the DevExpress YouTube Channel where we post lots of great technical content:


    Twitter: @mehulharry

  • Bootstrap 4 Support - (v17.2.5)

    It’s literally taken us years to do it, but Bootstrap 4 has finally arrived! - Bootstrap Blog

    Last week, the Bootstrap team officially released Bootstrap 4 and I'm happy to say that the excellent DevExpress Bootstrap controls for ASP.NET WebForms and ASP.NET Core support this latest Bootstrap release.

    I recommend reading the blog post to see what's new and test the new examples. There's also a helpful migrating to v4 guide.

    Download Latest Version

    The v17.2.5 minor release is now available and it features updated the project templates for our Bootstrap Controls. Download and update your installations.

    DevExtreme Support

    The DevExtreme team is currently working on updating the DevExtreme themes and the ThemeBuilder tool to support Bootstrap 4. Therefore, you'll see official DevExtreme support for Bootstrap 4 in the upcoming v18.1 major release.

    The DevExtreme Reactive controls will have support for Bootstrap 4 in the coming weeks. You can track this pull request for full updates.

    Classic ASP.NET/MVC

    The classic DevExpress ASP.NET controls that support ASP.NET WebForms and MVC can be used with Bootstrap (up to version 3). And the team is looking into supporting Bootstrap v4 in a future release. However, as I've written before, when using the Bootstrap framework, it's better to use the DevExpress Bootstrap Controls which were specifically written for the Bootstrap framework.


    Twitter: @mehulharry

  • DevExpress ASP.NET MVC vs DevExtreme MVC

    We at DevExpress offer two major libraries that support Microsoft's ASP.NET MVC framework:

    1. DevExpress ASP.NET MVC Controls
    2. DevExtreme MVC Controls

    In this blog post, we'll dive into the two seemingly similar libraries that both offer controls for ASP.NET MVC. We'll look at the differences, similarities, pros, cons, and consequences.

    Let's start by looking at server-side versus client-side web development because this choice will be critical in which library will work for you.

    Architectural Choices & Consequences

    One of the most important concerns for the choice of a web development platform is an architectural one: traditional server-side or client-side UI rendering. It is important because it has many consequences. I recommend reading this section but for those who don't have time, here's a short tldr:

    tldr; The choice of server- vs client-rendered UI influences the overall architecture of a software system to such an extent that it is advisable to analyze this concern before making decisions about specific component libraries.


    If you use server-rendered UI, this implies you need a server powerful enough to render pages dynamically (per request). Typically this works using template files on the server that describe the pages, with an extension model to insert the dynamic content. Both frameworks use this approach with ASP.NET WebForms using ASPX pages and ASP.NET MVC using Razor files as templates.

    While the component models are different between WebForms and MVC, they are both rendered on the server-side .NET environment. This means that the .NET-based data access methods can be used, business logic written in C#, and state kept on the server-side. Even dynamic browser- or user-specific rendering may be performed on the server, perhaps depending on the user locale or permissions queried from a security system.

    This model empowers programmers who feel at home in the server environment. However, it can be expensive with ASP.NET WebForms because of the numerous server round trips required for rendering purposes. It also makes it almost impossible to deploy the resulting web application in environments where a server might not be available, such as Electron-based desktop apps or Cordova-based mobile apps. Great care is required to prevent scalability issues because server resources are precious. Also, it's not always easy to add infrastructure, for instance, when the server-side state management has not been structured properly.

    There is also a gap to be bridged with this model: for instance it might be required to write certain pieces of code twice, in C# and JavaScript, like those required to perform data validation tasks both for immediate user feedback on the client side and for server-side business logic purposes.

    However, if you're building a public facing web-site, server-side rendering is great for SEO (Search Engine Optimization). Because the HTML content is generated on the server, search engines like Google can crawl, index, and cache it. Client-side rendering cannot easily do this without additional work.


    With client-rendered UI, a server is not strictly necessary. HTML and JavaScript content finds its way onto the client somehow -- it can be downloaded as static content from a server, but it can also be deployed as an installation package for desktop or mobile targets.

    Because the HTML and rendering of those UI elements will now be handled by the client browser, your client-side app mostly needs the data from the server. Typically, you'll need to create web services to provide this data. ASP.NET MVC WebApi may be used to implement such services, which again gives the developer the chance to use .NET-based data access mechanisms, but additional protocols are required, for instance, to query data dynamically from services, and to transfer it back to the client.

    Components used by the client to render complex UI are written in JavaScript (or a language that compiles to JavaScript, like TypeScript), and developers usually choose application-level frameworks like Angular or React that help them structure the client-side application, but also require integration with component libraries. This model is reminiscent of simple client/server applications, only using web standard protocols for service communication and data access. It is possible to create full-stack JavaScript-based application systems if the services are written in JavaScript (probably for Node.js), and due to the inherent stateless nature of the services it is usually easy to scale servers as required. Generally, the server-side infrastructure requirements are less complex with this architecture, so that cloud deployments are easy and enable automatic scaling setups.

    Client-rendered UI is the architectural model of choice for most modern web/mobile applications and a growing number of desktop ones, including Office 365, Skype, and Microsoft Visual Studio Code. The best recommendation to make this decision is to weigh the pros and cons carefully as they apply to your plans, the expertise of developers on your team, your customer base, and other factors.

    This brings us to the major difference between our two MVC set of controls. While both are server-side ASP.NET MVC controls, the DevExtreme MVC Controls will render client-side UI because of they wrap client-side DevExtreme JavaScript controls in ASP.NET MVC controls. On the other hand, the DevExpress ASP.NET MVC controls will render server-side HTML and then deliver this to the client.

    Let's now take a look at how these two libraries got started to understand our motivations for creating them.


    1. DevExpress ASP.NET MVC Controls

    In April 2009, Microsoft released ASP.NET MVC and many developers quickly became interested in this interesting new web framework. Many of our customers requested that we provide UI controls for ASP.NET MVC.

    At the time, our ASP.NET WebForms library provided solid, stable, and feature-rich controls. So we made the decision to take the API, features, and rendering of our ASP.NET WebForms controls and provide them as native MVC controls. This approach had the benefit of saving time and delivering you a solid set of controls with plenty of features.

    In 2010, we introduced the DevExpress ASP.NET MVC Controls as a beta with only five controls. Then, for the next seven years, with each release we continued to grow the controls, features, and performance. Today, the DevExpress MVC set of controls is solid and has over 65+ controls.

    Around the same time, JavaScript was also gaining popularity with web developers...

    2. DevExtreme MVC Controls

    Since the late 2000s, JavaScript's popularity has continued to rise. And serveral years ago, web development shifted decidedly towards client-side JavaScript-based technologies like jQuery, Node.js, Angular, Backbone, React, etc. With good reason because the client-side development model provides benefits. Many of our existing web customers asked us to provide JavaScript controls that rendered exclusively on the client-side.

    So in 2011, we tasked an independent group of our developers to build a fully client-side set of JavaScript controls that are similar in features to our server-side controls. After a year of development, the DevExtreme library was born in 2012. We've continued to develop this client-side library since then to provide more controls, features, stability, and support for other client-side frameworks. Then, around 2014, some of our web customers expressed a need for a set of MVC controls that used the client-rendering approach. So we decided to wrap the client-side DevExtreme JavaScript controls as native server-side MVC controls.

    In June 2016, the DevExtreme MVC Controls were then introduced as a Community Technology Preview (CTP). Now, after several releases where the team has worked hard to improve the DevExtreme MVC Controls, they provide over 65+ controls, features, and great integration with ASP.NET MVC (and ASP.NET Core).

    What's right for you?

    While the architectural considerations should help push most projects in their preferred direction, it is also possible to compare our libraries on the basis of specific technical merits. The following overview may not be exhaustive - please feel free to ask about topics you feel are missing and we will extend the post.

    Recently, we've gotten questions from developers asking:

    • What do you recommend for my scenario?
    • What are the main differences between the two products?

    To help you decide, please read the following four sections that compare both of these libraries strengths and weakness:

    1. What's Included & Missing

    On first glance, it would appear that both libraries have about 65+ set of MVC controls and they provide the key controls like Data Grid, Charts, Editors, Navigation, etc. However, not all controls are available in both libraries and this can be a key deciding factor. For example, if you need Spreadsheet, Ribbon, or RichEdit controls then those will only be available in the DevExpress ASP.NET MVC Controls Suite.

    Here's a breakdown of which controls are available in each library:

    DevExpress ASP.NET MVC Controls (Server-Side) DevExtreme MVC Controls (Client-Side)
    TreeList, TreeView
    Navigation Controls
    Editor Controls
    Charts & Gauges
    Reporting Suite
    HTML Editor
    Vertical Grid
    Docking Suite
    Spell Checker
    ActionSheet, ScrollView, SlideOut
    Bar, Circular, Linear Gauge
    Map, TreeMap, VectorMap
    FilterBuilder Integrated into other controls
    Box, ResponsiveBox

    2. Rendering Pros/Cons

    The DevExpress ASP.NET MVC Controls provide server-side rendering.

    • Pros: Solid with (many more) years of releases. More powerful controls available.
    • Cons: Windows IIS servers hosting. Callbacks, however, data is submitted via native forms, MVC Forms, or MVC Ajax Forms and can be accessed on a controller's action.

    The DevExtreme MVC Controls provide client-side rendering.

    • Pros: They emit semantic markup that is rendered by the client browser. User interaction is faster. Tighter integration with ASP.NET MVC framework.
    • Cons: For interactivity and run-time customization, you'll have to deal with the core JavaScript widgets.

    A. Performance

    The DevExtreme MVC controls have some minor advantages in terms of performance due to their client-side rendering. Mainly, the user interaction will feel more responsive.

    For example, when grouping rows in the DevExtreme MVC Data Grid, you'll find that it will only retrieve the data for the rows that it needs to update to show the grouped layout. In the browser tools image below, we can see that DevExtreme MVC Grid is only getting JSON for the data rows from the server and the Grid will render and update the UI accordingly:

    However, the DevExpress ASP.NET MVC GridView will do a partial page update. Meaning that it will retrieve the HTML for the new grouping layout from the server and then deliver those to the client and render them in place. A partial page update looks like the following when sent across the request/response chain:

    Callbacks require additional server effort to re-rendering these HTML snippets for (potentially) large numbers of clients and therefore increase the data volume. However, on a fast connection, you'll likely not notice a major difference in speed.

    B. Semantic HTML Render

    As mentioned, the DevExtreme MVC controls provide semantic markup when rendered (click image for larger version):

    The larger DevExpress ASP.NET MVC controls like the Grid uses a Table based layout for rendering. However, the navigation controls (pager, menu, navbar, etc) have semantic rendering that are based on lists, divs, etc.:

    Both of these rendering approaches are compliant with HTML5 standards.

    3. Data Binding

    The DevExpress ASP.NET MVC Extensions are server-side controls and therefore, they can easily bind to any server-side .NET data layer. However, client-side binding is not supported in these server-side controls.

    The DevExtreme MVC Controls provide various ways of binding data-aware controls on the client side. These controls also provide a server-side data layer that allows you to bind on server-side as well. This mechanism doesn't change the architectural considerations about data binding, it merely provides web services for data access automatically, based on existing server-side data sources.

    4. .NET Core support

    Both libraries support the .NET Framework 4+ and the same set of browsers.

    However, the DevExtreme MVC Controls also support ASP.NET Core 1.0.1 and later (including 1.1, 2.0+), while the DevExpress ASP.NET MVC controls do not.

    While not part of this comparison, the new DevExpress ASP.NET Bootstrap Core controls exclusively support the ASP.NET Core framework.

    Use Together

    Keep in mind that if you choose classic full framework ASP.NET MVC (not ASP.NET Core) then you could use both of our MVC controls together to complement each other. For example, you can use the DevExpress ASP.NET MVC Spreadsheet and DevExtreme MVC Grid in the same ASP.NET MVC project.

    Both of these MVC libraries are also offered in the DevExpress ASP.NET Subscription too!

    The Choice is Yours

    To recap, both of MVC control suites offer you many great UI controls and they can also be used together.

    However, if you need to choose between them then I'll offer my observations as a the Web Program Manager who's interacted with many developers:

    • Devs who prefer client-side rendering typically choose the DevExtreme MVC Controls
    • Fans of C# and server-side rendering typically choose the DevExpress ASP.NET MVC Controls

    Hopefully, the information above will help you choose. If not, then please leave a comment below on how I can help.


    Twitter: @mehulharry

2 3 4 5 6 7 8 9 10

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at or call us at +1 (818) 844-3383


DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, Delphi, HTML5 or iOS & Android development. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2018 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners