DelphiAndXoids

November 24, 2003
Just now reading about Macromedia's new GUI markup language called (tentatively, it's still in beta) MXML (Macromedia Flex Markup Language) [shouldn't this be MFML? -- mifmle??]. Sean Neville compares and contrasts MXML with XUL and XAML.

Here's some examples.

XUL

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="example-window" title="Example 2.2.1"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<button label="Normal"/>
<button label="Disabled" disabled="true"/>
<button label="Default" default="true"/>


</window>


XAML

<!-- Window1.xaml -->
<Window
xmlns="http://schemas.microsoft.com/2003/xaml"
xmlns:def="Definition"
def:Class="Application3.Window1"
Text="My Three Rectangles">
<FlowPanel>
<FlowPanel.Resources>
<Style>
<Rectangle Fill="Red" Width="150" Height="100" Margin="10" />
</style>
</FlowPanel>

<Rectangle />
<Rectangle />
<Rectangle />

</FlowPanel>
</Window>


MXML

<?xml version="1.0" encoding="iso-8859-1"?>

<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">

<mx:TextInput id="source" width="100"/>
<mx:Button label="Copy" click="destination.text=source.text"/>
<mx:TextInput id="destination" width="100"/>

</mx:Application>


And now, from the nothing-new-under-the-sun department, here's how Delphi has been doing this for sometime (though I'm sure there are plenty of geeks out there who can show me where Borland got this idea from...)**:

object Form1: TForm1
Left = 309
Top = 107
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 160
Top = 96
Width = 185
Height = 41
Caption = 'Panel1'
TabOrder = 0
object Button1: TButton
Left = 40
Top = 16
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
end
end
end


Agreeing with me (little does he know...), Don Box mentions in his blog why there's any hubbub about XAML:
Of course, we (the industry) have managed to build visual designers over imperative code for at least a decade, so why is XAML interesting?

It's easy.

XAML is ultimately yet another XML vocabulary.

This means that any investments you've made in processing, querying, transforming, and storing XML accrues to XAML.

That's the real story here. The rest is just your typical “Microsoft sneezed” side-show.

But there are those who hate XML. Rubyists who hate XML seem to like YAML, and YAML looks much more like the Delphi version than the newer XML versions.

** Update: Allen Bauer, current Delphi architect at Borland, makes the same point.


tags: ComputersAndTechnology