[
Lists Home |
Date Index |
Thread Index
]
Hi
Hi,
I won't play the game of "Microsoft bashing"; I will just express a
practitioner's point of view.
Practitioner point of view:
----------------------------
XAML is a rendering language based on XML. What are encoded in XML are
visual objects. It seems at first sight that there is a one to one
correspondence between a visual object and an XAML element. A neophyte can
conclude that an XAML element represent an object and the properties,
well... the object's properties.
If all objects properties are mapped to elements' attributes we gain with
easy to write XSLT stylesheets. Hence, it could be easy to translate from
XAML into another rendering language also based on XML or into HTML using
XSLT.
If the rendering language also allows to set the objects properties as CSS
properties, then we also gain "just in time" adaptation. For instance, a
user may change the look of an application by selecting a new CSS.
In conclusion: As a recommendation to rendering language designers, we can
propose that
a) they map the objects properties to element's attributes.
b) they allow to set/replace the attributes by CSS properties.
Example:
--------
case A:
<Button Background="LightSeaGreen" FontSize="24pt">
Calculate
</Button>
Case B:
.thisButton {
background: LightSeaGreen;
font-size: 24pt;
}
<Button class="thisButton" >Calculate</Button>
If I can define the objects definitions with either one of these expression
and if these two expressions are equivalent, I have a more versatile
rendering language. In case (A) I defined a static definition, hence the
presentation cannot be modified by the user. In case (B) and with the
addition of several CSS files, the user has the possibility to change the
"skins" of the visual widgets. Overall, the developer has the opportunity to
define a rendition that can be modified or not at run-time.
In addition, if we have a system offering both an interpreted and a compiled
version, we can develop quick working prototypes using the interpreted
environment and use the compiled version for speed and efficiency of the
code delivered to users.
I see that another benefit of using a declarative interpreted/compiled
language based on XML respecting the principles previously stated: instead
of developing presentations based on classes I can develop them with
"prototypes" (ref:
http://portal.acm.org/citation.cfm?id=141953&coll=portal&dl=ACM&CFID=1351024
1&CFTOKEN=61686657)
Cheers
Didier PH Martin
http://didier-martin.com
|