Microsoft has a long history of misnamed and mis-marketed developer tools. My favorite example is .NET, a relatively simple concept complicated by an initial decision to attach the label to Microsoft's upcoming generation of servers (e.g., "Windows .NET Server 2003") - a decision they later rethought. The latest blunder is Microsoft ASP.NET AJAX.
When many folks talk about ASP.NET AJAX they're actually referring to the AJAX Control Toolkit, which is a collection of ASP.NET controls with client-side extensions. As the simplest and most accessible component of the release this isn't entirely surprising - although, technically, the toolkit was spun off to an open-source CodePlex project before launch and wasn't even included as part of .NET 3.5. That aside, Microsoft AJAX 1.0 is a lot more than a set of controls. First and foremost, it's an object-oriented JavaScript framework that introduces namespaces, classes, inheritance, events and a lot of other useful concepts to the scripting language. Second, it's a set of integration techniques that makes it easy to facilitate client-server discussion with an ASP.NET backend. The latter is arguably the least known aspect of the release - which is ironic since, arguably, it has the most to do with "AJAX"; by contrast, many of the controls in the AJAX Toolkit don't offer any asynchronous server communication and, thus, have more to do with DHTML than AJAX.
It's arguable that the client-side framework missed the boat - with mature (and often free) platforms like Ext, MooTools, Prototype and Dojo on the market, Microsoft's AJAX offering is too little, too late. And Microsoft seems to agree, with a lot of the more useful features being deferred to their Futures package and a last-minute proclamation of support for the independently developed jQuery library, which duplicates some of the functionality of Microsoft's framework. Similarly, while the AJAX controls are a quick-and-easy approach to prototyping (something Ignia is big on) they aren't nearly as robust, flexible or even easily extendable as some of the sophisticated control libraries that ship with already established frameworks. This isn't to say these don't have potential, but at this point they're not strong competitors in the market.
That said, the real strength of the Microsoft ASP.NET AJAX release is in its ability to integrate with ASP.NET server controls - a capability Microsoft is uniquely positioned to offer. For instance, while the AJAX Control Toolkit is often used as a stand-alone library, it was originally intended as a demonstration of Microsoft' new IScriptControl interface, which allows the encapsulation of JavaScript as part of a server side control - including both programmatic configuration as well as server-side handlers for AJAX development. In addition, the release supports Extender Controls which allow client-side behaviors to be grouped into a single package and declaratively bound to a standard ASP.NET server control. There are some really useful things you can do as a control developer with these technologies.
Ultimately, in terms of frameworks, Ignia remains framework agnostic. We use the popular jQuery library (not really a framework) on a daily basis for its usefulness in working with the DOM. We did a lot of early adoption work with Microsoft AJAX for a prototype of a Microsoft product, and continue to monitor the development of the ASP.NET Futures which shows quite a bit of promise. We've also dived pretty deep into ExtJS for a Cisco application we recently worked on, and prefer it for rapid development of large and complex web applications. Regardless of framework, however, the Microsoft AJAX release provides a level of integration with the server environment that is unmatched in other approaches - and, arguably, offers a layer of support that's useful independent of your preferred client framework.
tags: AJAX, ASP.NET, Microsoft