Any good sources(links) about optimizing Telerik Web controls? I imagine that there are features that are turned on by default. These features require resources (javascript, css, images) to be downloaded on request. It would be nice to know what these feature are and to turn them off if not used.
Do you know of such features? I'm primarily interested in Telerik AJAX components.
Does this help?
Optimizing output, page load time and the overall performance of RadControls for ASP.NET AJAX
RadInput vs. RadInputManager
Using RadAjaxManagerProxy Controls
Did you even try searching anything?
I also found these sources on the Telerik site recently when looking for performance boost techniques:
Top performance page
Support Center RadControls Performance section
They look pretty descriptive and cover most of their controls.
Dick
Here is more:
Optimizing output, page load time and overall performance
Top 15 optimization tips and tricks in public forums
Related
I'm in the process of building a web cms platform. And I've come to a point where I have to choose what actually goes in the pages (I've been building the "core" for now).
What do you think is the best option and could you give me your reasons for choosing that?
Currently I'm looking at jQuery UI, Telerik, and I'm also juggling with the idea of just building controls by myself, but I think that's too much of a hassle for little gain...
I'd love to hear your opinions, thanks!
I built my own CMS solely on the Telerik ASP.NET Ajax tools. It's really good, and if you're careful, performance will be comparable to jQuery-UI. If you're just doing it for "one client at a time", why not grab a copy of SiteFinity and include the licensing cost in the overall price?
jQuery has some really great tools too, but I prefer the simple nature of the Telerik tools.
My team is currently working on a substantial update to an existing ASP.NET 3.5 application which uses the Ajax Control Toolkit on virtually every page. We've found that in many cases that its use is unwarranted (clearly a previous developer decided to "Ajaxafy" everything), and a richer - and simpler - experience can be found using jQuery.
We've also found that the AjaxControlToolkit can be a pain to work with frankly in terms of maintainability and performance when you have half a dozen developers working it. We're debating scrapping its use completely, and going with jQuery for the UI experience. We're fortunate to have enough time to do this safely, and every feature we use can be replicated without any problems (AutoComplete, Calendar Control, etc).
It seems Microsoft are siding with jQuery with its addition to Visual Studio lately, and the current Ajax Control Toolkit isn't in ASP MVC (client side files only). Therefore I'm personally siding with jQuery for the moment, as it seems to have a future, while the Control Toolkit's future is a little more cloudy.
However, from a maintainability perspective, how is jQuery to work with?
It's essentially just Javascript, so no plugins required. Are updates stable, and do they often break existing functionality?
We use jquery extensively with asp.net 3.5 and have upgrade jquery and jquery ui about 3 times without a hitch. Both times we have had noticeable speed increases. Maintenance has never been an issue in about 2 years of use with 5 developers.
We find jQuery very readable and enjoyable to code with.
Don't give up on AJAX just yet. Both AJAX and jQuery are useful as long as you're using them to do what they're suited to. I really don't see too much of a difference in maintainability, it's all still code. You need to test new releases/updates before putting them into production; vet any 3rd party code you're integrating into your code base, and make sure that you're not using AJAX/jQuery to pound a square peg into a round hole.
As to the pros/cons of AJAX vs jQuery:
AJAX beats out jQuery when it comes to:
Server-Side integration
CLR Features and Feel
JSON and WCF
jQuery beats out AJAX when it comes to:
Animations
Being Lightweight
DOM Selection
Attribute / CSS Manipulation
The ACT isn't in MVC because the control structure is deeply embedded in the web forms product; most vendors (like Telerik, Component Art etc) are actually writing a separate code-base for MVC because of the complexity of making it work with two frameworks, although Telerik did a good job of it (you can use the web form controls in MVC, though the MVC-specific controls are much nicer to use).
I like JQuery, and for a project, I believe we are going to go Telerik/JQuery and plugins, so that is always a good bet.
Also, the ACT does have a lot of scripts and may not be applicable in all scenarios, but the real issue is adding too much AJAX when it isn't warranted, something that can be a problem with any other framework too.
HTH.
jQuery is tested pretty extensively. I don't remember a break caused by an update, you mileage may vary. They would likely know about any compat problems and warn about them in the release notes or elsewhere.
Personally I've been working for years with Telerik's RadControls and DevExpress
ASP.NET controls. IMHO they both produce quite an impressive HTML overhead on the client side thus for that I've never been highly pleased with them.
Of course I also know about Infragistics, ComponentOne, ComponentArt, etc.
I'd assume they are not much different than those I mentioned.
Which (commercial) controls suite generates the most compact HTML on the client side?
I'm inclined to think there is no "most performant controls suite" rather a combination
of server controls and Javascript based controls (eg. jQuery UI). Would you agree with that?
What combinations did you achieve the best/most performant user experience with?
Update 27 Jan 2012
Since my original answer, I have spent a lot of time working with MVC. As I said below, you have full control over the markup generated, which is great. I have also spend some time using Telerik MVC (http://demos.telerik.com/aspnet-mvc) controls and I must say, they have done a great job of keeping the tools functional, while minimising the markup and script sizes. They have introduced a Script registrar which allows you to register which scripts to include on the page. This allows you to also register your own custom scripts, which can be combined into a single resource and compressed for low latency and bandwidth.
Original Accepted Post:
You are correct in that commercial control suites tend to generate heavy markup and script overhead. This is partly due to the fact that they have traditionally had to deal with the ASP.NET postback and viewstate page workflow, which results in long-winded control Ids and a proliferation of many small javascript downloads (adding latency for each file).
Also, many controls tend to try to add too much functionality. They try to do it all but this makes doing anything simple with them quite a chore as there is a steep learning curve for a lot of these suites, as I am sure you are finding.
If you want to improve the download size and markup generated on your page, my advice would be to use a combination of ASP.NET MVC (great control over markup, no viewstate or _doPostBack scripts everywhere) and JQuery plugins, whic you touched on in your question.
Take a look at the markup of StacOverflow. It is written in MVC. Not sure what 3rd partycontrols they use.
The worst offender for hevy markup is often Grids. Take a look at the JQGrid http://trirand.com/blog/jqgrid/jqgrid.html
Try Obout control suit. They are very effective and bring productivity with much low overheads.
http://www.obout.com/
Here we work with ComponentArt and we are really excited about it. It's really easy to implement, looks great and has a lot of functionality in it. Performance is also very good. We also use componentone controls but they aren't very good for web apps I think.
I would definately suggest to use ComponentArt
AlbumOnNet WebControl Suite
AlbumOnNet WebControl Suite is a set of ASP.NET WebControls enabling a Web designer or programmer to use RAD techniques to create great looking Image based Slide shows, Photo Albums, and Image based Ad Rotators.
The controls can be used for product image presentations, real estate photos, art gallery pictures and screenshots.
The controls are programmed to work at its best on the design surface (in the Form Designer) in Visual Studio. Drag and drop a control, like the SlideShow control, on the page, set a few properties and experiment with the Style attributes to match your page design.
WebControls included
Album WebControl
SlideShow WebControl
SlideShow InfoViewer (EXIF codes)
Slide Info Labels
Navigation Buttons
Navigation ToolBars
Numeric link navigation
I've seen a few blog posts and tutorials overviewing mixing in jQuery and the UI elements for Views in a .NET MVC web app. But usually targeted at developers with a comprehensive grasp of the full dev cycle and variations of back/middle tier technologies.
As the front end developer I'm pitching a jQuery-only UI to the back-end dev - he cautions against a non-webforms interface for sake of the code maturity pov.
I'm trying to hit back with "well...it's your pattern ...isn't it elemental to MVC? No logic in the view? I'm reading that to be 'server-side stuff'. You just serialize the properties i'm asking for, or better...let me easily discover what you _can send me...i'll be able to implement the UI via jQuery UI."
So how valid is my position?
Can jQuery's grid be expected to handle at least the bottom 85% of .net's native control (low-to-moderate capacities # of rows)?
How about in-line editing? ...from the grid?
Would working exclusively in Web Services simplify his life at all? and if so, wouldn't that be logical way to build a .net-to-jQuery relationship? - ajax liaisoning twixt server (.net WS methods) and client?
mny thx
--steve...
Don't fight the platform. That way lies pain and suffering.
The MVC view objects are vastly different than asp.net webforms with server controls--you get straight up html. You get jquery and ajax basically for free, with (almost) magic server side ajax call processing.
They are designed to do what you ask. Writing your own jquery ui is reinventing the wheel.
Not only would it be a ton of extra work for no gain. You would be the only developer around trying to do that, and when you needed help, few could offer advice.
If this is an admin interface, and the client has agreed that users must have javascript enabled then I think using javascript to build widgets on the page is a better option than using the asp.net server controls. If however this is a public facing website I would argue that a pure html and css approach is much better, and then use javascript to progressively enhance the page!
Now I dont ever advocate using asp.net server controls, because they spit out poor markup and they are overly complicated to use. Instead I have been using jQuery to do the grunt work and dom querying and traversing. I also dont advocate using jQuery UI because they are missing some very essential widgets, for example no datatable, no treeview etc. I know that there are lots of plugins for jQuery but they are not componentised and therefore each plugin needs to reinvent the wheel to achieve everything it needs. Once you have included all your plugin libraries and css you often end up with a very large page footprint. Also each plugin often has a different home page and documentation that may or may not be up to scratch.
I think that the best UI library is YUI, and you can easily combine it with jQuery. Because each widget is made up from core components the overall weight of download is smaller. Also you have all the documentation in one place with 100's of working examples. Also it means working with the same set of javascript patterns across the board, so with each widget you learn more and more about the library. Hopefully jQuery UI will catch up, but personally I am looking forward to YUI 3 which for me might mean dropping jQuery altogether...
jQuery is a very mature library. It is used by thousands of people across the internet, and I dont think I have ever encountered a bug. YUI is dogfooded by YAHOO so it too is battle hardened.
One thing I did not mention to you is that I am using the default webforms view engine with asp.net mvc. I think it is still the best option as you get intellisense and also Resharper refactoring even searches your views, and the static solution anaylsis can find code errors in your views.
For building my markup I have been using MvcContrib Fluent Html but you could also checkout this article that advocated the DRY principal very well.
Will anyone suggest good 3rd party controls for asp.net development.
Especially gridview.tabcontrols,treeview.Menu
Please suggest controls which scores well on all points below
Easy development,
good performance in run time.
Less page overhead and less page
objects etc.
faster page loading.
I used few but had bad experience on page performance.
Thanks
Swapna MC
The consensus here at SO seems to be DevExpress. Telerik and ComponentArt are good, too. DevExpress seems to be the fastest performer.
How about "obout" controls.
This is suggested by some one .But i am facing performance issues now.Page load is very slow.I am not sure its the controls causing the problem.
swapna
I have experience with Telerik and DevExpress. As others have noted, DevExpress is probably the fastest; however, I still strongly prefer Telerik. Their big advantage is that they have been around a very long time and have a huge support database. Compared to every other .Net control library I've worked with, theirs is, by far, the easiest to get help for.
Considering that each library will have its own nuances and bugs, going with the one with the most vibrant user community and support forum is a smart move.
One more point, DevExpress's AspXPivotGrid is fantastic. Clients absolutely love pivot grids, and they are a smart move for the first report and clients will cut you a lot of slack when they can build their own reports.
telerik asp.net ajax controls provide a quite rich client-side api. it's their most attractive side for me.