Just when you think we've missed the boat on software development trends on the Web,
Microsoft surprises folks. First it was announcing that we will be
baking RSS support into the next version of Windows.
Now we've announced that we will be shipping a toolkit for building
AJAX-style Web applications. In his post about the
Atlas Project, Scott
Guthrie writes
All
of the pieces of AJAX – DHTML, JScript, and XMLHTTP – have been
available in Internet Explorer for some time, and Outlook
Web Access has used these techniques to deliver a great browser experience
since 1998. In ASP.NET 2.0, we have also made it easier to write AJAX-style
applications for any browser using asynchronous
callbacks, and we use them in several of our built-in controls.
Recently,
however, the technologies used by AJAX have become broadly available in all
browsers, and use of this model for rich web applications has really taken
flight. There are a number of high-profile new AJAX-style websites out there
today, including a number by Google, as well as sites like A9 and Flickr. Microsoft will also have more sites
that use this technology out there soon – check out Start.com and the MSN Virtual Earth project for
examples.
The
popularity of AJAX shows the growing demand for richer user
experiences over the web. However, developing and debugging AJAX-style web
applications is a very difficult task today. To write a rich web UI, you have to
know a great deal of DHTML and JavaScript, and have a strong understanding of
all the differences and design details of various browsers. There are very few
tools to help your design or build these applications easily. Finally, debugging
and testing these applications can be very tricky.
...
For
this work, we’ve been working on a new project on our team, codenamed
“Atlas”. Our goal is to produce a developer preview release on top of
ASP.NET 2.0 for the PDC this September, and then have a website where we can
keep updating the core bits, publishing samples, and building an active
community around it.
Here
are some of the pieces of Atlas that we are going to be delivering over
time:
Atlas
Client Script Framework
The
Atlas Client Script Framework is an extensible, object-oriented 100%
JavaScript client framework that allows you to easily build AJAX-style browser
applications with rich UI and connectivity to web services. With Atlas, you can
write web applications that use a lot of DHTML, Javascript, and XMLHTTP, without
having to be an expert in any of these technologies.
The
Atlas Client Script Framework will work on all modern browsers, and with any web
server. It also won’t require any client installation at all – to use it, you
can simply include references to the right script files in your page.
The
Atlas Client Script Framework will include the following
components:
- An
extensible core framework that adds features to JavaScript such as lifetime
management, inheritance, multicast event handlers, and
interfaces
- A
base class library for common features such as rich string manipulation, timers,
and running tasks
- A
UI framework for attaching dynamic behaviors to HTML in a cross-browser
way
- A
network stack to simplify server connectivity and access to web
services
- A
set of controls for rich UI, such as auto-complete textboxes, popup panels,
animation, and drag and drop
- A
browser compatibility layer to address scripting behavior differences between
browsers.
This is excellent news which I know a lot of our UX developers
at MSN will be glad to hear. Already Scott Isaacs who's been a key part
of the AJAX development we've been doing at MSN has posted his opinions about
Atlas in his blog entry entitled
My personal thoughts on an AJAX (DHTML) framework..... His post highlights some of the history of AJAX as well as the issues a toolkit like Atlas could solve.
First RSS, now AJAX. All that's left is to see some announcement that
we will be shipping a
REST toolkit to make this a trifecta of utmost excellence. More nagging I must do...