DevExpress ASP.NET - Recent rendering change in v13.2
There's an old joke going around:
"A web designer walks into a bar - but immediately leaves in disgust upon noticing the tables layout."
A long time ago, in a galaxy far away...
Web developers used tables for website layout. Thankfully, this went out of fashion many, many years ago. For more info on why it's not a good idea to use tables for layout, check out this StackOverflow thread.
A little history
This post is not about using tables for site layout.
Tables are useful and serve a purpose. In fact, back in the day when browsers didn't play so nicely with HTML standards, tables were critical to getting cross-browser rendering that looked and worked the same. But I digress.
This post is about the recent rendering changes in DevExpress ASP.NET controls and how it might affect you. And if you've experienced any issues, then we are here to help you.
A (breaking) change
DevExpress introduced the Lightweight render mode in many of our ASP.NET controls several years ago. You can see a list of the controls here.
From 2010 to 2013, our controls supported two render modes:
- Classic: based on HTML tables
- Lightweight: based on 'light' HTML elements, e.g. 'div' and unsorted lists (UL)
In the v13.2 release, we stopped support for Internet Explorer 6 (IE6).
We also dropped the "Classic" render mode from our controls. This caused a breaking change for some of our customers and this will explain the why, support for issues, and the future of rendering.
After we stopped support for IE6, we were able to update several controls to make them lighter.
On the web, you need to be light, fast, functional, and powerful to remain competitive. And so, it's our goal to ensure that we're competitive while still maintaining that great cross-platform browser support.
What does the change involve?
Less use of HTML tables for rendering and more use of div, ul (lists), etc.
- ASPxButton control - its HTML render was rewritten and now it does not use TABLE tag.
- ASPxEditors - Heavy refactoring of the buttons render for: ASPxCalendar, APSxComboBox, ASPxDateEdit, ASPxSpinEdit and other editors which contain button elements.
- ASPxRoundPanel - its HTML render was rewritten and we removed any unnecessary TABLE tags).
Why the change?
Dropping support for the Classic render mode was a difficult decision. However, we could not support Classic render mode because it made our controls 'heavier' and took additional browser resources for processing.
The Lightweight render mode is much lighter and more semantic. It allows our products to be quick and modern. In fact, it should help to reduce the negative effect of this issue: Visual Studio 2012 (2010) performance is very slow when a page with ASP.NET controls is opened in Designer.
Removing Classic render does not mean that our customers should abandon the use of HTML tables in a page layout.
There are cases where tables are more effective than using divs and lists. Tables are great for tabular data. In fact, a lot of our controls still use tables (e.g., ASPxFormLayout, ASPxTreeList, ASPxGridView, etc.).
However, tables are not effective in other cases. So, we updated several controls to make them lighter by not using tables to render them. Another side effect is that it allows you, the developer to create more effective web applications.
There are a lot of pros and cons of both render modes. I recommend reading the Table Layouts vs. Div Layouts: From Hell to... Hell? article, where both render approaches are objectively described.
With each release, we have many types of tests in place that test our products in different scenarios, operating systems, and browsers. However, we cannot test every scenario.
And so with the v13.2 release, we received bug reports from some of our customers who found some issues. We have already fixed many of these known issues in the next minor release, v13.2.7.
Our support is also ready to help you. If you've experienced any issues in upgrading, please take a look at this knowledgebase article for a list of the known issues first to see if there's a workaround or solution that may help you.
The DevExpress support team is here to help in case you run into any issues. Contact them either via firstname.lastname@example.org or better yet, log a ticket.
When only the best will do.
From interactive Desktop applications, to immersive Web and Mobile solutions, development tools built to meet your needs today and ensure your continued success tomorrow.
Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications.
Download a free and fully-functional version now: http://www.devexpress.com/Downloads/NET/