Miguel de Icaza (Mono Chief) on Microsoft XUL (XAML)
Gerald Bauer <[email protected]>
| Newsgroups | gmane.comp.lang.xul.announce |
|---|---|
| Message-ID | <[email protected]> |
Hi,
Miguel de Icaza - Mono project lead - wrote-up a
story about his Los Angeles trip to the Microsoft's
FUD Extravaganza that unveiled Longhorn - the next
version of Windows - to the world.
Miguel writes:
They have this new file format called `Xaml' that is
used to specify GUI layouts with XML. It was
interesting that the demos were done with Emacs and
VI. On one hand, they showed that there was no trick
(or that these technologies were not
`simplexity-based'), but on the other hand, I
realized: they do not have a GUI builder for Avalon
yet.
Xaml was particularly interesting, for Gnome people
this is not news, but it is worth describing: the XML
format binds the element names to .NET classes, and
each one of the attributes maps to a property, so
something roughly like:
<Window>
<Button id="button" Background="Red">
<SimpleText>Hello</SimpleText>
</button>
</Window>
The above gets translated with the XAML compiler into
something like:
Window w1 = new Window ();
Button button = new Button ();
SimpleText s1 = new SimpleText ("Hello");
button.Items.Add (s1);
w1.Items.Add (button);
So as you can see, pretty straightforward. Of course,
the wow-factor comes when one of the attributes can be
a video, and you can apply arbitrary Postscript-like
transformations to the whole thing. Very much like
Display Postscript-based systems, the MacOS or the
venerable NeWS system (the difference being that
Microsoft will drive this into every desktop, while
the other systems never made it into the mass market).
In the Xaml and Avalon chapter Miguel writes:
During the event everything was demoed by using this
new markup language. Of course, everything produced
with it looks terrible. And the reason is simple, XML
might be a nice replacement for a few lines of code,
but doing GUI layout in code is always a boring,
error-prone, and most of the time the results are of
low quality.
Xaml was pitched as a way of splitting the work
between a designer and a programmer, which has an
element of truth to it, but in reality they need a
good GUI designer for producing interfaces (very much
like Glade is to Libglade in Gnome).
Xaml is just a markup language that wires CLI classes
together. [...] The Avalon components that can be
wired up have been built on its entirety on a new
rendering framework, one that seems fairly powerful: a
PDF like 2D imaging system, with video playback
integrated. [...]
Building rich desktop applications with Xaml is very
easy: things can begin as "prettier" web pages. You do
not have to be a programmer to use Xaml, and if you
are, you can add extra functionality, just like
Javascript does for the Web.
This of course poses a threat for the open source
desktop, more on this on the upcoming sections.
In the Xaml as an HTML replacement chapter Miguel
writes:
Xaml is HTML merged with the Desktop UI.
Although Xaml seems to be only a cute idea, it is
simple enough, and each one of the individual
components are powerful enough that it is very likely
that Xaml could replace HTML as a way of creating rich
content on Windows platforms. It would leave out of
the equation Linux, Solaris and MacOS.
For free software users this again becomes a problem,
since we continuously face proprietary protocols and
file formats as a limitation of our platform. A
limitation that we have to address every step of the
way. In the case of Xaml, it is not the lack of
documentation or a proprietary protocol, it is just
that it is intimately tied to the .NET Frameworks.
Using Mono we will be able to bridge this gap: if
people produce XAML-based applications and content, we
want to be able to render that, and to do it right, we
will have to implement the whole stack.
Various components will make XAML an attractive
authoring environment:
* The file manager can browse .xaml files like it does
HTML files today.
* Rich "smart client"-like functionality.
* A fairly large collection of controls and
components.
* Easy, centralized and secure deployment of
applications.
* Use of third party controls is trivial.
* Upgrade path to use any .NET language to improve the
experience beyond the basics.
Full story @
http://primates.ximian.com/~miguel/texts/pdc.html
- Gerald
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl