开发者

Is DevExpress for ASP.NET fast enough [closed]

开发者 https://www.devze.com 2023-01-07 09:28 出处:网络
Closed. This question is opinion-based. It is not currently accepting answers. 开发者_高级运维Want to improve this question? Update the question so it can be answered with facts and citati
Closed. This question is opinion-based. It is not currently accepting answers.
开发者_高级运维

Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 2 years ago.

Improve this question

My question is simple and straight forward - Is DevExpress fast enough for real world web application. We're using DevExpress in our company to build a CRM for a client and every page has got lots of controls and its damn slow. On my development server it takes 10sec for a page with around 20 controls to load. Is this good or bad? And can you guys point me to a real life DevExpress application except the ones given on the case study section.


I realize that this question is quite old and the original author has probably long since made a decision. However, when I was personally directed by my company to use DevExpress and I was trying to eek out all of the performance that I could, a Google search would always point to this thread and many like it across the internet. There's always a question, a few anecdotal responses, and usually a PR response from somebody that works for DevExpress. I rarely find honest answers from experienced people.

In the past, I've used Telerik, Infragistic, and DevExpress. From a performance and maintenance perspective, DevExpress is the worst. All of their controls have odd properties and accessors that do not align with what somebody that is familiar with ASP.NET or even HTML would expect. Since the properties and accessors of the controls are so convoluted, you will find that you've written about twice as many lines of code that are necessary in a normal .NET application.

DevExpress controls are rendered out as hugely bloated, nested tables. Some controls expose a lightweight rendering mode that is better, but their styling and functionality do not match with the other DevExpress controls, and I found them to be quite buggy in cross-browser testing.

Custom styling requires many, many custom CSS selectors that force you to code DevExpress class names into your CSS, due to the nested and hidden nature of the control properties. This is very bad practice, since DevExpress can and should be able to change their internal CSS class names whenever they see fit.

These controls also make an absurd number of GET requests to their DXR.axd handler that serves up resources.

There's no doubt that their controls work fine in a Demo environment with only 1 control displayed on the screen, but in the real world, these controls are terrible and should be avoided. Implement your own controls or just download Bootstrap and use native ASP.NET controls. I replaced DevExpress with controls that I created that style the native HTML type that gets rendered from .NET and the following chart illustrates some of the differences in resource usage between the two. There were no changes to the page layout, business layer, data layer, or database code for this swap, just a replacement of DevExpress controls that I'd previously optimized and tried to squeeze every bit of performance out of with my own controls.

Chart Comparing DevExpress to Custom Controls


That's bad, but I wouldn't point straight at the DevExpress controls when assigning blame - I'd be running a profiler against my code to work out where the issue really is.


Soham,

As a general rule, when designing for the web, try to keep your pages light so they can run faster. For example, do you absolutely need 20 controls on one page?

And if they do not need any special functionality then you can use the native rendering.

Also, check out my article on the DevExpress web.config settings to improve performance.

Btw, I work for DevExpress. :)


I have no DevExpress experience, but you may also want to check out Improving Asp.net performance. It might help out as well.


2016 - Over the last 5 years I have used Infragistics, Dev Express, Telerik in that order.

Infragistics I won't even get started on because it is a subject unto itself.

My biggest pet peeve with Dev Express is their controls do add some "bloat" to the overall result. However, some controls do have feature sets that are worthy of the bloat. Certainly their Grid and Pivot grid are complex tools that allow the user to do many things, and i have successfully implemented Devexpress packages that worked both quickly with very good results. I have two problems with Dev Express:

  1. Every time I install a new version, it breaks a significant amount of code, that's both WebForms and MVC implementations. That is quite frustrating, but as programmers to be expected I guess.
  2. They really don't look very nice, you have to go through significant effort to get the to look anything close to a bootstrap table etc. Once done though they do allow all the needed bells and whistles. You could of course as the authors above suggest grow your own, that's always an option, but it's not why people buy controls. They are trying to leverage their time so that they can implement faster of course.

Having said all this, Telerik is the current best of breed, in my opinion by far. Easier to implement, grids are fast, have proper desirable functionality and look better.


If you use 20 Controls containing Textboxes with formlayouts, probably the Server takes a hard time to render that page containing alot of hierarchy of long tags in it. DevExpress is bad on having multiple Controls. Redering one ASPxTextbox Control could take KB compared to hundreds of byte on ASP.net Textbox control.


It very common for an entry page to have more than 20 controls. I did use devexpress for years, the speed and performance are acceptable. We use to build ERP solution.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号