Tohle je definicie formulare v Qt. Formular se zpracovav pri prekladu, ale nic Vam nebrani zpracovat jej pri behu a napojit signaly na sloty napr. v Javascriptu. Chapu to tak, ze Avalon by mel byt o necem podobnem?
<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
<class>cap</class>
<widget class="QMainWindow">
<property name="name">
<cstring>cap</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>620</width>
<height>500</height>
</rect>
</property>
<property name="caption">
<string>Customer access protocol</string>
</property>
<widget class="QTextEdit">
<property name="name">
<cstring>imapEdit</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>600</width>
<height>450</height>
</rect>
</property>
<property name="paletteForegroundColor">
<color>
<red>255</red>
<green>255</green>
<blue>0</blue>
</color>
</property>
<property name="paletteBackgroundColor">
<color>
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</property>
</widget>
</widget>
<toolbars>
</toolbars>
<includes>
<include location="local" impldecl="in implementation">cap.ui.h</include>
</includes>
<functions>
<function access="private" specifier="non virtual">init()</function>
</functions>
<pixmapinproject/>
<layoutdefaults spacing="6" margin="11"/>
</UI>
Ano, s tím, že zpracování event událostí (signal slotů) bude realizované kompilovaným kódem běžícím v CLR.
Tohle se spíš podobá řešení v MS InfoPath. Ale jinak je to velmi podobné. Nevím ovšem, do jaké míry je to extenzibilní o deklarativní definice tříd a kolekcí stejně, jako XAML.