which one should use i have following options available
ASP.NET ajax with its ajax control
toolkit controls
ASP.NET ajax with jQuery
Ajax Pro http://www.ajaxpro.info/
Please suggest which one to use keeping in mind performance and page size.
Please if any one can shed some light on pros and cons of each of the above
Thanks
A month ago I would have chosen Ajax Control toolkit but after spending time behind the scenes with JQuery it will have my personal vote. Especially if using MVC, however I am having great success refactoring a older Ajax websites developed in Framework 2.0.
JQuery offers a lot more then the Ajax control toolkit and it allows more flexibility, definitly something we will see more of in the future if you follow the commitment Microsoft has made into it.
Whichever you use, just avoid using anything that post all the form values. Update Panels is one of those.
That means:
Extenders with the ajax control
toolkit. These imposes limitations
on your code.
JQuery + JSON. Simple service calls. Leverage the same skills for client side as in other platforms.
Ajax Pro. Don't know, so can't say anything about its strengths/weaknesses.
I would stick with JQuery. It works great, and you get skills that work in other platforms :).
for performance + page size, Asp.net MVC + jQuery is the best. But from your option, I think #1 page size can be reduced by g-zip. Personally, I like Ajax control toolkit because it's easy to implement.
Related
What technology was used to create the User Interface of "Smartermail" by Smartertools and the User Interface of "Action Method" by Behance?
They both have great user interfaces that expand to fit a full browser window, they are both very repsonsive (especially SmarterMail) and I don't believe they require a plugin?
Are these technologies suitable for ASP.NET MVC based sites?
The forum post referenced by another responder was from over a year ago, and some things have changed since then.
Since SmarterMail 7.x, Telerik was abandoned for most of the user interface controls due to some issues with the weight of the scripts and processing time to render things. Instead, custom versions of controls that render simpler HTML and script were developed to ensure things went quickly. SmarterTools still uses Telerik's radEditor HTML editing control, and the DateTimePicker control in applications, however, since they have shown to be the best option.
Charting is now accomplished through the built-in .Net Charting controls that were added in Microsoft .Net 4.0. We found then to be a suitable replacement for the Nevron Charting controls in most cases, and almost as fast.
SmarterMail does not use MVC as of version 8.x. It could be written as such, but at this point the advantages of rewriting it to be in MVC did not yield a good enough return on investment.
jQuery is the primary method of resizing and adding visual effects, and has proven to be quite effective. Most of the performance problems we ran into were related to resizing, so the order of operations when resizing had to be continually tuned.
ASP.Net AJAX with page methods is used to perform a "keep-alive" function on a regular basis that updates counters, signals the session is still active, and retrieves notifications from the server about new email, etc. Many other page functions use AJAX as well to make the pages feel more responsive and to reduce the amount of data flying around.
Grady Werner (SmarterTools)
Here's a discussion about the technologies used in SmarterMail:
We use components from Telerik for the
Splitters, treeviews, editor, menus,
date/time pickers, panelbars,
tabstrips, and popup windows. With our
own custom skins and a lot of hacks
for efficiency. Though I think someone
at telerik spies on us because every
time we hack in an optimization, they
follow suit in their next version
The grid is our own control. Other
than that we use asp.net ajax and
jquery and thats it.
And because your question was tagged with asp.net-mvc-2, you could use the same controls in your application. Telerik provide controls specifically designed for ASP.NET MVC. And jquery and jquery UI are totally server technology agnostic.
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.
For a slick UI, I am deciding between using a client side library (JQuery or ExtJS) or go with the AJAX Control toolkit. I understand that the widgets supported by ExtJS rich library does not match what's there in the toolkit.
What are the pros of cons of using one over the other?
I'd choose AJAX Control Tool Kit + PageMethods (avoid UpdatePanel, it's easy to use at the beginning but it can be a real nightmare ) + JQuery to parse/display the result of the page methods.
PageMethods are really easy to use.
But do not use ajax control toolkit 's controls, it's easy to do the basic stuff , but when you want to be more specific, you're fighting against the toolkit (sometime you have bug with IE but not with FF it's really fun).
I am a asp.net developer and php+joomla developer.
With due respect to microsoft, i am completely fed up with ASP.net AJAX.
Working with Asp.net Ajax sucks(pardon my french).
You dont have complete control of your html code, because it generates freaky divs.
Asp.net Ajax carries a dead weight of code and javascripts with it, thus consumes the lot of bandwith which affect on your page load response time.
If you go with asp.net AJAX, you will be limited to it.
Jquery is very fast and can be implemented within no time.
Jquery has thousands of plugins developed by community developers and for free.
If you have any javsacript error with asp.net AJAX, it takes hell lot of time to get solved, or you have to change the code to different concept. I mean its complicated to debug asp.net ajax code.
After, trying hardly to use asp.net ajax, i finally landed to jquery and very happy to use it. One thing to be clear i am here, by not any means, not promoting jquery.
But using jquery is far more easier, flexible and performance oriented than ASP.NET AJAX.
From my perspective, vendor specific frameworks like the AJAX control toolkits only benefit from the ecosystems and examples published by that specific vender (and 3rd party devs). In this case, only Microsoft and ASP.NET developers.
In the case of a vendor agnostic toolkit like jquery, you gain the benefit from every type of web developer that's out there publishing blogs and articles: ruby, python, coldfusion, asp.net, etc.
So my vote is usually for jQuery unless there is a very specific reason (ie. specific control) that I absolutely have to use from the ajax control toolkit. And even in those cases, chances are that someone has a jquery plugin that'll be equivalent.
I've been looking at ASP.NET AJAX Client Templates.
My position is that I prefer to use Jquery rather than ASP.NET AJAX as I feel this will win the day in the long term.
Are there Jquery plugins/functionaility that provide the same kind of help for rendering that client templates do in ASP.NET AJAX?
John Resig's (jQuery Creator) Microtemplating engine has worked very well for me with ASP.NET.
Rick Strahl has an excellent post on this that details using the Microtemplating engine with ASP.NET and compares it to other solutions at http://www.west-wind.com/Weblog/posts/509108.aspx.
ASP.NET AJAX has some pros and cons as JQuery. You can use them together if you need powerful client-side library. Btw, if you can specify what you are after exactly, maybe we can help more.
We are planning to extend an existing ASP.NET application (a real huge one) to have a slicker UI. One of the requiremnents is to have a way to execute server side code without a postback (As an example, say a user clicks on a link or hovers on a link, a popup comes up which executes server side code or makes calls to the database)
We plan to add more functionality that closely aligns with the behavior of a yahoo or a google customized page.
Is UpdatePanels a way to go or should a lot of it be implemented using JavaScript? One of the main requirements is to keep the pages as light as possible and to have good performance. We don't plan on using any 3rd party components.
What technologies are suggested that will help us add UI heavy features in the future?
Edit: Thanks everyone. It appears that the approach to take is to use a JS library such as JQuery and AJAX (from initial research the PageMethod/WebMethod way of doing it)?
Any more suggestions?
I think that UpdatePanels are actually pretty clunky. (Actually, I think ASP.NET is pretty clunky now that I've moved to ASP.NET MVC). If the page is going to be highly interactive, I'd suggest using some sort of javascript framework, like jQuery, Dojo, MooTools, etc. that will allow you to do AJAX easily as well as manage the user experience client-side. MS is distributing jQuery with Visual Studio and has promised to support it, so you might want to consider that when making your decision.
Stephen Walter did a great talk about the next version of ASP.NET Ajax 4.0. It's not an immediate solution but it's interesting to see where Microsoft is going with their Ajax framework.
There's a lot more to ASP.NET AJAX than the UpdatePanel, and a fair amount of it can be done without heavy JavaScript work. UpdatePanel is quite inefficient in terms of the amount of data send over the wire. As with everything, only optimise when you need - but bear in mind that the UpdatePanel is one of the first places to look for your slowdowns.
Just to give you a different answer than everybody else: why not try silverlight?