Sign in to follow this  
Followers 0
Melcher

The two versions of Avalon

3 posts in this topic

Until very recently I was not aware that there were actually two Avalon versions included in some Longhorn builds. Note: I'm talking pre-reset here. I'm sure most of you will have noticed the sudden folder hierarchy change in builds like 4051. In these builds, the Microsoft.NET folder does not only contain the Avalon folder (as it had contained since 3683), but now also the folders Windows\v6.0.04030\  were present. Clearly, parts of the WinFX framework were being relocated to this new Windows directory as the original Avalon folder became emptier and emptier through the builds until it finally disappeared. Most of the new libraries in the Windows\v6.0.4030\ directory were designated the name they still carry in WPF today. But for me, the question remained: what happened here? 

 

Only today all pieces came together for me and I'd like to share this insight with you. A quote from an internal Microsoft email gives us part of the answer. Here, Jim Allchin asked what 'avalon rearchitecture' another person is talking about. Michael Wallent responds:

"this is a planned change that we~ve been working on for three months and is ongoing, its the

change we talked about w/bill, and will be code complete by 3 august, this is the

visual/etement/presenter peformance redesign"

 

This message dates June 6, 2003. Still, what was this redesign about? Well, mostly about CSS. 

While CSS had been available in the first renditions of the Avalon framework it was now being depricated. Chris Anderson explained more about this here: http://web.archive.org/web/20051102023821/http://www.simplegeek.com/permalink.aspx/b7e02709-0112-4977-9b73-1aa9d471a570. Wesner Moise also mentioned it here: http://blog.netundocumented.com/2003/10/xaml_and_standa.html

 

Hope you find this interesting :)

Share this post


Link to post
Share on other sites

Yes, the history of Avalon is quite interesting.

 

In those earliest variants, its heritage is quite clear - The team doing what would become XAML was largely comprised of ex-ASP.NET guys, and it had a syntax much closer to HTML with some concepts from ASP.NET server tags. The CSS was just one such part.

 

Actually, though I've never thought of it before, it would have been a much larger change than it might initially appear. They didn't just lop off CSS support, what they actually did is go from a more typical markup language that represented how something appeared, to what was essentially an XML serialisation of objects to initialise. It actually would have been a case of completely rewriting the XAML engine. Definitely well worth it though, would have made the platform far more consistent and performant.

Share this post


Link to post
Share on other sites

I had never spotted the actual difference. I still think the markup used in early builds looks very much like the markup in later builds. The only time I could see that the markup does indeed differ (or relies on CSS in some way) was with the startpage as seen in 3706 and some more builds which indeed has a whole CSS file to define styles. But yeah, sure, this must have been quite a major change under the hood.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0