views:

114

answers:

4

I'm .NET developer. Most of my career I worked on web based intranet applications (ASP.NET WebForms) but always as a server side developer. Client side development was done by my colleagues more skilled in JavaScript and different JS frameworks. At the moment I have some JavaScript skills and very elementary understanding of both ASP.NET AJAX (I mean client side library) and jQuery. It mostly means that I can read JS code and I can write very simple functions. I would like to be better in this area and I'm planning to learn some of these technologies. Should I learn both ASP.NET AJAX and jQuery or skip ASP.NET AJAX and go directly to jQuery? By learning I mean really deep understanding of concepts and whole framework.

At the moment I'm reading Introducing Microsoft ASP.NET AJAX but I'm not very happy with it. It doesn't have coverage I would expect. I have already bought ASP.NET AJAX in Action and jQuery in Action. Do you recommend me any other sources?

Edit: So nobody defends ASP.NET AJAX? It looks like this API exists only to fill some MS certification exams.

+6  A: 

jQuery is more than enough. Couple this with ASP.NET MVC and you will never ever need to look at Microsoft ASP.NET AJAX (or whatever its name is currently). Even if you work with standard ASP.NET WebForms, jQuery will be sufficient.

Also note that Microsoft have fully embraced jQuery (it is included with ASP.NET MVC) and they are actively supporting its development. I won't be surprised if MS AJAX becomes obsolete soon (for me personally it's been deprecated for years :-)).

So I would recommend you use the time you would have wasted in learning MS AJAX in improving your jQuery skills.

Darin Dimitrov
ASP.NET MVC is other topic. I like it and I want to use it in our projects but company policy doesn't allow it at the moment. I didn't mentioned ASP.NET MVC because than, jQuery would be easy choice.
Ladislav Mrnka
MS AJAX becomes obsolete side by side ASP.NET Web Forms becomes obsolete. However don’t forget that the MS AJAX is used for creating JavaScript proxies for script Web Services and script WCF Services.
Petr Pechovic
+1  A: 

Try to learn ajax from scratch, with plain javascript, it helps you understand how it works. Then go to jQuery.

Guilherme Oenning
I already did it. I played with XmlHttpRequest directly. But this question is not only about AJAX but about whole frameworks.
Ladislav Mrnka
+1  A: 

Though the server side part of ASP.NET Ajax, the updatepanel for example, are still quite popular for server side developers to add that little bit of ajax like behavior in their pages I strongly suggest you learn jQuery. Microsoft also decided to put effort into jQuery and favor that as their primary suite: http://stephenwalther.com/blog/archive/2010/03/16/microsoft-jquery-and-templating.aspx.

XIII
A: 

I agree with the answers above. ASP.NET AJAX isn't real ajax, because you are effectively sending the entire page back to the server as ViewState, going through the entire page-load cycle, and then returning a bunch of stuff back to the client. It's all really just an illusion, which will leave you disappointed, especially in terms of capabilities and performance. jQuery isn't very difficult to get your head around, and you'll be amazed at what you can accomplish with relatively minimal effort.

DaveDev
I disagree. As I understand it, this happens only if you use UpdatePanel. But pure AJAX calls to services don't send ViewState and other stuff. But again this question is not only about AJAX but about client side programming.
Ladislav Mrnka