Also on March 7th I saw the Developer Days sesssion: How to built interactive webapplications with ATLAS by Scott Guthrie, the General Manager of the .NET Developer Platform from Microsoft. I must say I already played some with an early verion of the ATLAS Beta and back then I was exited. After seeing Scott I was impressed. They really are doing a fine job enabling Microsft developers to use AJAX.
He told us ATLAS is built with two approaches to developing AJAX enabled webapps in mind:

  • Server-centric Ajax Web Development
  • Client-centric Ajax Web Development

Where Server-centric means add UI enrichment for key scenarios, enrich applications without lots of Javascript code required and enable you to keep the core UI/Application logic on server (VB/C#).

Server Centric ATLAS 

Client-centric Ajax Web Development however is meant for leveraging full power of script/DHTML, provide a richer and more interactive user experience and build mash-ups, gadgets and other new immersive experiences.

Client Centric ATLAS

What Server-centric ATLAS basically provides is a container control that enables “updatable” regions in a page. Atlas provides a XmlHttp based (asynchronous) postback infrastructure.

The UpdatePanel:

   1:  <atlas:UpdatePanel id ="u1" runat ="server">
   2:    <ContentTemplate > 
   3:      This content can be dynamically updated!
   4:      <asp:label id="Lablel1" runat="server"/>
   5:      <asp:buttonid=“"button1" text="Push Me!" runat="server"/>
   6:    <ContentTemplate>
   7:  </atlas:UpdatePanel>

Atlas intercepts post-back submit actions on client. Than it uses XMLHttp to fire a postback action to the server. The Postback events fire like normal on server
Only the content of the updatepanel regions are returned and the changed updatepanel regions are replaced on the client. All post-back actions for controls declared within an updatepanel control will cause Ajax-based post-backs with an incremental page refresh. But Post-back actions for controls outside of an updatepanel control will by default cause normal postbacks, so it is possible to use both on one page.

   1:  the below button will cause a normal full-page postback and update 
   2:  <asp:button id ="NormalPostBack" onclick ="btn1_click" runat ="server" / >
   3:  <atlas:UpdatePanelid="u1" runat="server">
   4:      <ContentTemplate>
   5:          Updatable content...
   6:           the below button will cause an Ajax postback and refresh
   7:          <asp:buttonid="AjaxPostback" onclick="btn2_click" runat="server"/>
   8:      </ContentTemplate>
   9:  </atlas:UpdatePanel>

Than the ATLAS framework makes use of what is called 'Triggers', these can be used to associate UpdatePanels on the page with postback controls declared outside of the UpdatePanel
   1:  <asp:ControlEventTrigger> Refreshes the UpdatePanel when a control event fires.
   2:  <asp:ControlValueTrigger> Update the UpdatePanel when a control value changes. 

For now I think this is enough for one article, so the only thing I want you to know is the ATLAS release timeframe I heard in this session:
  First public preview released September 2005  Early release to solicit feedback and comments
  March CTP will be released on the MIX Conference in Las Vegas
  Atlas CTP Go-Live License Coming Soon This will allow production applications to be deployed


Henry Cordes
My thoughts exactly...

Add comment

  Country flag
  • Comment
  • Preview