AJAX is a hard concept for web developers to "get"

One of the things that I am finding is that the vast majority of web developers don't "get" the concept of communicating with a web server outside of the traditional "round trip/postback."  We have lived so long in communicating with the server in a roundtrip, that anything else is a really hard concept to get and seems to require a "rewiring of our brain cells (including mine)." 

For developers to have success with AJAX, these libraries that we use must be REALLY simple to setup and program with.

7 Comments

  • You could start by describing the hidden frame technique, it isn't a big leap from there to using an object instead of the frame to make the request.

  • I guess I'm not in the majority. I don't consider myself a power programmer by any stretch of the imagination, but AJAX made a lot of sense. I haven't dug into it to the extent of a Google Maps depth, but have built a few apps with extensive use of the library. The hardest part for me was the JavaScript. I'm a VB guy, so switching to the C (ish) model (and getting used to the DOM) was the hardest. I think what helped me think through it is that it kind of IS a round trip to the server. You just don't see it, and only a part of your page is making the trip.

  • The biggest problem I am having "getting" AJAX or Atlas is that it seems overly complex. Check out atlas.asp.net for example. I just want to create a simple master/detail dropdown. Where the contents of one dictates the contents of the other. If I do it the way atlas.asp.net shows, I need to include a bunch of .js files, reference a new dll, and put a ton of stuff in my web.config file.



    If I want to do it the AJAX way, I still need to reference a new DLL, and modify my web.config file.



    It wasn't until a friend of mine showed me the RegisterClientScriptBlock and GetCallbackEventReference that it all became very easy and clear. I think when we as developers speak about Atlas and Ajax in the 2.0 realm we really need to mention those more often. There's no "setup" required and it's built right into the framework.

  • It's funny, I'd have to say the opposite. The people I'm talking to grasp it quite quickly. Many newbies seem to have had past instances where they wished they could have done something similar, without really knowing what it was they wanted. They immediatly grasp Ajax within that context...

  • If this is true then I'm okay with it. This is what happened when we as a community started to move from one paradigm (ASP) to another (ASP.NET). A lot of the developers that didn't "get it" have been and are being filtered out and aren't as involved in the upper level decision-making process.



    That being said, I think that the real problem is the one that we all had when XML first started to become popular ... using it in places where it shouldn't be used. I don't look forward to the day when sites start to adopt AJAX in a big way for things that AJAX wasn't meant to do. This is inevitable, as lots of people who think that they get AJAX have a grasp of the technology but not the bigger picture.

  • Like Kyle, I'm a VB guy, and I'm looking for a good tutorial with simple explanations so I can understand the code. I get the concept, I just would like to know how to implement it. Like what .js files I need, what functions to call, what is built in that I can call already, etc.



    So, for those that find AJAX and Atlas to be simple, can you post a list (or even provide your own post even) that has a good and simple tutorial and/or explanation of how to use it?

  • Wally - to be honest, I'm one of them that's having trouble. I worked in OLAP/DBA and embedded work for the vast majority of my career. When I got MVP I figured I needed to branch out so I started learning ASP.NET, but I never knew classic ASP (which from what I am told, is where a lot of folks got their first taste of Ajax). I've seen Ajax used and it looks hella cool, but I've only been able to do some really lame implementations of it. Can't wait for your book ;-)

Comments have been disabled for this content.