Microsoft AJAX Library at the AJAX Experience Conference in Boston

This week I'm attending the AJAX Experience conference up in Boston, Ma.  There are couple of folks from the Internet Explorer and ASP.NET AJAX library teams here to participate.  Microsoft has a booth where we are talking about both products with the attendees in the sponsor section.  We are also holding a raffle to give away an XBox 360 at the end of the conference on Wednesday.

Many of the major AJAX framework players are here, all talking about the various AJAX frameworks that are out there.  Lots of great sessions on making it easier to implement better user experiences on the web!  Brad Abrams delivered a great session on what Microsoft is doing with AJAX.  He posted about it here.

As I've spoken to many of the attendees visiting the Microsoft booth, I've realized that there seems to be some confusion and a couple of common mis-perceptions regarding what Microsoft is doing in the AJAX space.  As folks stop by to drop off their XBox raffle entry, I've been asking them if they've checked out ASP.NET AJAX.  I usually get one of the following responses:

  • Oh, I'm not a ASP.NET developer, we use XYZ for web development, so I'm not interested in your AJAX stuff.  You need ASP.NET for that, right?  It's called ASP.NET AJAX, isn't it?
  • Eh, but your stuff only works in IE, right?
  • ASP.NET AJAX Extentions?  What about Atlas?  What is that? 

My response, of course, is that's not true!  I can understand your confusion though.  Let me explain...  Microsoft has been working on a "bunch of stuff" related to AJAX that was collectively known as code-name "Atlas".  About a month ago, I wrote a post about how that "bunch of stuff" was packaged into three different packages, each with it's own name:

  • Microsoft AJAX Library
  • ASP.NET AJAX Extensions
  • ASP.NET AJAX Control Toolkit

In summary, here's what you need to know:

  • Collectively, these three packages are known as "ASP.NET AJAX"
  • Two of the three packages do NOT require ASP.NET or any Microsoft servers!
  • ALL three of the packages support all of the major browsers (IE, Firefox, Mozilla, Safari)

Microsoft AJAX Library - AJAX is mainly about client-side JavaScript.  The keyword there is 'client-side'!  The Microsoft AJAX Library is a JavaScript library that works independently of whatever web server technology you are using.  This library provides a lot of great functionality that makes developing AJAX applications easier.  One great feature it provides is a browser compatibility layer that handles differences between the browsers. There's a lot more packed into this library than that.  Check out the documentation for more on that.

ASP.NET AJAX Extensions - The other thing Microsoft has been doing with AJAX is building a set of extensions for ASP.NET so that .NET developers who are developing web applications can easily implement AJAX functionality without having to write any JavaScript code.  For example, these extentions provide allow developers can add controls to their ASPX pages that render JavaScript down on the browser which implements the AJAX functionality.  Another neat thing the extensions do is auto-generate JavaScript proxies that can call web services that have been implemented on .NET.  These proxies can then be called from your client-side code to retrieve data from the web services via an XMLHttpRequest!

ASP.NET AJAX Control Toolkit - This is probably the coolest part of Microsoft's AJAX 'trilogy'.  The control toolkit is a set of controls that utilize the Microsoft AJAX Library to implement some cool AJAX behaviors.  The controls include things like Cascading Drop Down list, Drag&Drop Panel, and a Paging Bullet List.  The control toolkit has been released as an open-source community project that is open for all to add new controls, or improve the existing ones.  The JavaScript files that implement the controls can be used with any web server.

While the Microsoft AJAX Library can be used with any web server technology (including Java, PHP, or ColdFusion), I can understand how the collective name "ASP.NET AJAX" can mislead people to assume that ASP.NET is required to make use of this great library.

Don't get me wrong though... there is a good reason why these technologies have been named ASP.NET AJAX.  If you are an ASP.NET developer, the integration between the client-side library and server-side extensions provide a great solution for easily building better web user experiences!

If you haven't checked out ASP.NET AJAX, visit the site and download the latest bits and give me some feedback on your experience.  The official beta 1 release came out just last week.