XAML替代品

时间:2009-07-20 23:45:27

标签: wpf xaml programming-languages

我喜欢WPF,但我讨厌XAML。

XAML过于冗长,当Microsoft尝试扩展它时会出现语法问题(请参阅Bindings上的StringFormat),并且很难导航。

XAML还有其他选择吗?

(这些只是我的意见。请随意不同意。)

5 个答案:

答案 0 :(得分:13)

还有其他选择:

XUL,Flash,Delphi资源语法,C#Form.Designer.cs语法,VB6表单语法

当然,没有引人注目的替代方案。

它就像人体一样 - 带有所有果汁和气味的垃圾,但这是迄今为止最好的生命形式。 XAML显然非常糟糕,但周围没有任何好处。

答案 1 :(得分:6)

XAML似乎确实是房间里的大象。虽然我是WPF的忠实粉丝,但XAML的冗长程度可能会让人眼前一亮。虽然Blend和VS2010在很大程度上减少了从零开始编码XAML的需求,但我仍然发现手工编辑几乎是我所做的一切。

我发现power boots容易在眼睛上,而JavaFX的语法就像CSS一样非常吸引人。这些似乎是D'oh的分离。

然而,详细的XAML,至少有工具支持让我们90%的方式,任何其他替代方案将带我们回到手工编码所有的UI。对于这个程序员来说,这不是一个有吸引力的主张。

答案 2 :(得分:5)

另一种选择是根本不做UI,让设计师在Blend中做。

答案 3 :(得分:1)

这可能值得关注。但是,从网站上无需下载任何内容。

D'oh:Super Productive Windows GUI语言

http://doh.xn--majkrsft-e0ab.se/

答案 4 :(得分:1)

现在我知道为什么你的名牌在上一个创新日看起来很熟悉。

这将是一项很多工作,但你可以做一个小小的开始 - 没有理由你必须使用XAML,只需要创建部分类的东西。

所以,你可以编写一个DSL代替XAML,用合法的C#或者整个生猪来编写一个生成C#的VS工具,就像XAML处理器一样。这取决于您希望在编译时对代码隐藏文件的可用程度。

嗯,有IronRuby,可能是IronRuby中的DSL

(DSL =领域特定语言,适用于任何阅读过首字母缩写词的人。)