Focus on Microsoft Technologies - Tutorials, Articles, Code Samples.

Saturday, August 26, 2006

Atlas Project by ScottGu's Blog

Atlas Project

We are now well into the final RTM milestone of the ASP.NET 2.0 and Visual Web Developer 2005 release. Having reached our ZBB (Zero Bug Bounce), we are now locked down on our feature set, and we’re focusing on the final quality, performance, and reliability push.


At the same time, we have started to work on our next release. One area we’ve been looking at for a while is the growing popularity of richer user experiences in browsers, through AJAX (Asynchronous Javascript and XML)-style programming.


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 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.


What we’ve set out to do is to make it dramatically easier for anyone to build AJAX-style web applications that deliver rich, interactive, and personalized experiences. Developers should be able to build these applications without great expertise in client scripting; they should be able to integrate their browser UI seamlessly with the rest of their applications; and they should be able to develop and debug these applications with ease.


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:

o        An extensible core framework that adds features to JavaScript such as lifetime management, inheritance, multicast event handlers, and interfaces

o        A base class library for common features such as rich string manipulation, timers, and running tasks

o        A UI framework for attaching dynamic behaviors to HTML in a cross-browser way

o        A network stack to simplify server connectivity and access to web services

o        A set of controls for rich UI, such as auto-complete textboxes, popup panels, animation, and drag and drop

o        A browser compatibility layer to address scripting behavior differences between browsers.



ASP.NET Server Controls for Atlas


For ASP.NET applications, we are planning on building a new set of AJAX-style ASP.NET Server Controls, and enhancing our existing ASP.NET page framework and controls, to support the Atlas Client Script Framework.


ASP.NET 2.0 includes a new feature, called asynchronous client callbacks, that makes it easy to build ASP.NET pages that update their content from the server without requiring a page roundtrip. Asynchronous client callbacks wrap XMLHTTP, and work on a variety of browsers. ASP.NET itself includes several controls that use callbacks, including client-side paging and sorting in the GridView and DetailsView controls, and supporting virtual lists of items in the TreeView control. You can learn more about callbacks on Bertrand Le Roy’s blog.


The Atlas Client Script Framework will fully support ASP.NET 2.0 callbacks, but we’re planning on enriching the level of integration between the browser and the server much further. For example, you will be able to data bind Atlas client controls to ASP.NET data source controls on the server, and you’ll be able to control personalization features of web parts pages asynchronously from the client.


Continue from ScottGu’s Blog…

Technorati Tags:
43 Things Tags:
Buzzwords (Buzznet) Tags:
Del.Icio.Us Tags:
Flickr Tags:
Ice Rocket Tags:
LiveJournal Tags:

Post a Comment