On 2013-02-17 22:56, Adam Wilson wrote:
It is similar yes. In WPF, XAML is specialized XML that is deserialized at compile-time and translated into C#/VB.NET etc. In Silverlight/WinRT it is deserialized at runtime. I think for D compile-time deserialization makes sense for two reasons. The first is that you get more flexibility to work around D's lack of the deep reflection capabilites of .NET. The second is that as good as XAML is, it is ridiculously verbose. Creating a purpose-built DSL would be a much more efficient implementation idea IMHO. This would also make it much easier to re-target the GUI language and libraries to other languages.
I would at least start with deserializing at runtime, since that seems easier.
This is also how GUI's are built on Mac OS X. Create the GUI in Xcode/InterfaceBuilder and it will serialize it to binary or XML. Then it will be deserialized at runtime.
-- /Jacob Carlborg