Tales from the Smart Client

John Gossman's observations on Avalon development

XAML comments by Mr. Clifton

http://myxaml.com/marcclifton/archive/2005/04/25/1938.aspx

His comments are right on, a sensible end note to the more confrontationl tone of the thread he refers to.  We struggled for a long time over somewhat conflicting visions of XAML:  as a declarative UI programming language, as a more general serialization mechanism, or as a document format.  Simiilarly we agonized over whether to be optimized for hand or machine processing.  It still isn't completely over:  I was talking to customers recently and a debate broke out over whether XAML should even be human readable, in particular over whether a designer should ever show it.  A show of hands found half of the room felt it was mandatory that XAML be displayed by the designer, and half were vehemently against ever looking at the stuff. 

At the end of the day, XAML is just a tool.  You can program Avalon just fine from the language of your choice (Python anyone?) and never see XAML.  You can write your own declarative mechanism, and if you want to use CSS, go ahead.  The language wars having been going on at least since Lisp and Fortran, and I don't have any reason to believe XAML will be any less controversial.  At best, it will be a fraction as successful as those two greybeards.

The current version of XAML (which Marc hasn't seen yet...its coming with the next CTP), leans much more towards being a general serialization mechanism suitable for machine processing.   As he suggests, we could have gone another direction and been much more independent of the underlying object model and much more optimized for UI design by humans.  That would be a different language though...and frankly, it's still waiting to be implemented.

 

Published Saturday, April 30, 2005 2:20 PM by JohnGossman

Comments

No Comments
New Comments to this post are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker