MS AJAX: script file refactoring

This release marks the refactoring of the client script files. If you look at the samples, you’ll see that you’ve got a huge list of JavaScript files. The idea is simple: reduce the size of the download and let you use only the features you need. Do keep in mind that the “old” files are still there in case you’re using the complete client stack.

Currently, we’ve got the following script files:

  • MicrosoftAjax: has the complete MS AJAX stack released with v1.0. It has been augmented with the inclusion of the code used by the new script loader;
  • MicrosoftAjaxAdoNet: contains client classes used for interacting with ADO.NET Data services;
  • MicrosoftAjaxApplicationServices: introduces several classes used for communicating with the ASP.NET authentication, roles and profile services;
  • MicrosoftAjaxComponentModel: as you can probably guess, here you’ll find all the classes that support client side components and interaction with the DOM (ex.: Sys.UI.Behavior, Sys.UI.Control);
  • MicrosoftAjaxCore: contains the code used for supporting “better OO” (ok, this really depends on agreeing that we need to replicate C# best practices in JavaScript) and several utility classes used by the remaining framework (ex.: Sys.Observer);
  • MicrosofAjaxDataContext: introduces the base DataContext class used for improving CRUD operations on the client side;
  • MicrosoftAjaxGlobalization: contains all the code related to globalization. It’s here you’ll find, for instance, the code used for formatting and parsing dates for a specific region;
  • MicrosoftAjaxHistory: introduces JavaScript classes which support  history navigation in an AJAX application;
  • MicrosoftAjaxNetwork: here you’ll find the classes that comprise the base network stack (notice that you’ll need the MicrosoftAjaxWebServices file for using the WebServiceProxy helper class);
  • MicrosoftAjaxSerialization: introduces the Sys.Serialization.JavaScriptSerializer class;
  • MicrosoftAjaxTemplates: introduces the new template features we’ve started looking in previous posts;
  • MicrosoftAjaxTimer: adds the timer class;
  • MicrosoftAjaxWebForms: introduces all the client code needed when working with update panels;
  • MicrosoftAjaxWebServices: introduces the WebServiceProxy class used for simplifying communication with ASP.NET web services;
  • start: contains the code used by the script loader. This is the only file you’ll need (ok, you’ll probably need the definition file) if you’re using the load on demand feature of the new script loader component.

In the current release, you’ll see some duplication on the files. For instance, the core lib duplicates the starter code defined on the start.js file. In the future,I expect this duplication to be removed. And that’s all for this post. Stay tuned for more on MS AJAX.


~ by Luis Abreu on October 16, 2009.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: