This edition of the DevDays was totally in the light of XAML, WPF (Windows Presentation Foundation), WCP (Windows Communication Foundation) and last but not least: Silverlight. The last few editions where always about new technology, this year Microsoft tried to listen to the community.  With the result that they also put in some sessions on todays technology and how to make good use of it. Think AJAX, Asynchronous ASP.Net Pages and Web Services.

In the Keynote we saw Scott Guthrie who showed us Silverlight and Microsoft Expression.
We saw an application called: 'Top Banana', which is a video editing application in the browser. It is impressive technology, I know we already have Flash, but Silverlight integrates the .NET framework and supports ASP.NET AJAX. I don't know if you ever worked with Flash and .NET (through remoting and actionscript), than I think you can appreciate this integration.

I saw a lot of WPF and WCF. I see the advantages a lot can be daone declarative through XAML.
In WPF the UI (User Interface) can be made in XAML and a lot can be nested (a button can contain a movie, or a listbox etc.). Your own objects can be accessed in XAML if you addd your own namespace in the root element of the XAML Document:
xmlns:u="clr-namespace:NAMESPACE"
If you want to try you can use 'Visual Studio ORCAS', which in the future will be 'Visual studio 2008', but if you want to use a more 'drag and drop' approach building a UI, use 'Blend'. If you really want to know more go here: http://wpf.netfx3.com/. Animations are supported in XAML, this means declaritive animations! Databinding support, WPF supports databinding.


XBAP
I heard about XAML Browser Applications(XBAPs), are WPF applications you can run in the browser, these apps are deployed using the 'Click once' deployment technique.
The advantages are:

  • Are not installed  
     – No Start Menu or Add/Remove Programs presence  
     – Use ClickOnce for deployment  
  • Run in the browser  
     – Familiarity of web browsing  
  • Are “online only” apps  
     – Require access to the  
     deployment location  
     – Always latest version  
  • Run in a security sandbox  
     – Have no security or installation prompt  


These Devdays, I became a great fan of Mark miller, he works with Devexpress and I think Coderush is an app he worked on.
He is a great performer with something to tell, this guy keeps your interest the whole session. The first day I attended his 'Rockin' & Rollin' with WCF and WPF' session, he built an Airhockey client-server App with WPF and WCF. He showed a lot about how this app is built and he also entertained the audience real well. The second day the last session I attended was Mark Miller's 'The Science of a Great UI' session. He really had a big audience, a lot of people wanted to see this session. Unless the blue screen of death it was a interesting and entertaining session.
I had a great time.


Henry Cordes
My thoughts exactly...


Microsoft ASP.NET AJAX version 1.0 Beta Released

'ATLAS', Microsoft's AJAX Framework, has changed names, the codename 'ATLAS' is no longer used.
Instead Microsoft ASP.NET AJAX is the official name. The 1.0 Beta version is now released. Download from here
ASP.NET AJAX is a free framework for creating client-centric, interactive Web applications that work across many popular browsers and on any server platform.

More information can be found here:  http://ajax.asp.net/.
Microsoft claims the AJAX framework is platform independent. In fact I quote: 'The Microsoft AJAX Library is a standalone collection of the standards-based Javascript classes included in ASP.NET AJAX. It’s supported by most popular browsers and can be used to build client-centric Web applications that integrate with any backend data provider.'

There is a migration guide in case you already implemented one of the ATLAS Beta's or the CTP that was released not that long ago. This guide is available here.
Read the Changes between the ASP.NET AJAX (“Atlas”) CTP and the v1.0 Beta Release whitepaper which is also available as a Word document and a PDF document.

Download  ASP.NET AJAX v1.0 BETA Get involved in ASP.NET AJAX forums destination-videos.gif


Henry Cordes
My thoughts exactly...


ATLAS Control Toolkit

Published 8/27/2006 by Henry in AJAX | ASP.NET AJAX

New release ATLAS Control Toolkit on http://atlas.asp.net/atlastoolkit/
Version 1.0.60731.0 is the latest version.
The Control Toolkit is being upgraded with a few new controls and the already existing controls are 'bugfixed'.
The Reorder List had some known issues with postbacking when it was not expected, in this release the issue is fixed.

The new controls are:

  • DynamicPopulate: (Re-)populates any element with HTML content downloaded from the server.
  • FilteredTextBox: Prevents unwanted characters from being typed into a text box.
  • PagingBulletedList: Adds flexible paging and sorting to any bulleted list.
  • PasswordStrength: Provides interactive feedback about the strength of a password being created.
  • Rating: Displays a "4 out of 5 stars" interface for ranking.

    Also in the version before this one (1.0.60626.0) there where some new Controls introduced:

  • Accordion: Displays one pane at a time from a set of multiple panes.
  • NumericUpDown: Lets you attach flexible up/down "spinners" to any TextBox.
  • ResizableControl: Makes any control resizable.

     

    Automated testing
    What is new also is that in the 'Walkthrough' section a walkthrough for Automated testing is added.
    I am not sure what to expect, but I am interested and maybe I will add a story on this blog about the automated testing with ATLAS Controls.

    Henry Cordes
    My thoughts exactly...

  • Atlas update

    Published 5/12/2006 by Henry in AJAX | ASP.NET AJAX

    The Atlas April CTP is available and has some nice features.
    I suggest everybody who takes his ASP.NET seriously tries it out. I really think Microsoft does a great job integrating "AJAX" into ASP.NET with ATLAS.
    At the ATLAS Documentation website you can find lots of documentation and if you want to see demo's visit:  
    Pageflakes I think it gives you a really good idea of what ATLAS is capable of

    Alongside the ATLAS Framework there also is a library that is developed. The "Atlas" Control Toolkit are a number (13) of controls for Atlas.
    This makes it even more easy to develop Ajax enabled webapps.

    The "Atlas" Control Toolkit consists of:

    • CascadingDropDown: Easily link drop downs, complete with asynchronous population and no postbacks!
    • CollapsiblePanel:  This extender allows panels on your page to collapse and expand with no code.
    • ConfirmButton: This extender adds a confirm dialog to any Button, LinkButton, or ImageButton control.
    • DragPanel: Makes any panel into an object that you can drag around the page.
    • HoverMenu: Allows UI to pop up next to a control when the user hovers over it. 
    • PopupControl: This extender turns any panel into a popup. 
    • ReorderList: This control is a full-featured data-bound control that allows its elements to be reordered on the client via drag and drop.
    • TextBoxWatermark:  This extender adds "watermark" prompt text to TextBoxes on the page.
    • ToggleButton:  This extender turns an ASP.NET CheckBox into an image checkbox. 
    • AlwaysVisibleControl: Docks a panel to a corner of the browser window and keeps it visible even when the user scrolls.
    • DropShadow: This extender attractive drop shadows to any control on the page.
    • ModalPopup: Allows you to show styled modal UI without using HTML dialogs.
    • RoundedCorners: Rounds the corners of any control for a clean, professional look!

    You can download the "Atlas" Control Toolkit here.

    Henry Cordes
    My thoughts exactly...


    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 
    Server-centric

    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
    Client-centric 

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