如果我们从 HTML/CSS 中学到了什么,那就是声明性语言(如 XML)在描述用户界面方面做得很好,因为:
- 构建可以有效模板化代码的代码预处理器很容易。
- 该代码采用定义良好的结构(理想情况下)格式,因此易于解析。
- 有效解析或抓取基于 XML 的源文件的技术已经存在。
- UI 脚本代码变得更加简单易懂。
- 设计人员能够自己设计界面非常简单。
- 程序员不擅长创建 UI,因此对于设计师来说应该足够简单。
我最近看了一个 WPF 应用程序(即 XAML)的内容,它看起来与 HTML 中使用的声明性语言样式非常相似。
桌面 UI 开发的当前状态在很大程度上是碎片化的,否则在图形用户界面设计领域(IE.GTK、XUL、Qt、Winforms、WPF 等)不会有那么多重复的工作。
代表这些特征的一些开源 GUI 是什么:
- 标准化
- 平台无关
- 声明性标记语言
- 语言不可知论者
WPF,或者更具体地说,XAML 似乎是朝着正确方向迈出的一大步。
更新:
非常感谢您提供的信息,请继续关注。以下是我从评论和答案中收集的选项。
- 编辑:Glade 界面设计师
- 操作系统平台:全部
- 图形界面平台:GTK+
- 语言:C (libglade)、C++、C# (Glade#)、Python、Ada、Pike、Perl、PHP、Eiffel、Ruby
- 编辑器:wxGlade、XRCed、wxDesigner、DialogBlocks(非免费)
- 操作系统平台:全部
- GUI平台:wxWidgets
- 语言:C++、Python ( wxPython )、Perl ( wxPerl )、.NET ( wx.NET )
基于 XML 的格式不是免费的、不是跨平台的或特定于语言的
- 编辑器:任何基本的文本编辑器
- 操作系统平台:任何运行支持 XUL 的浏览器的操作系统
- GUI 平台:Gecko 引擎?
- 语言:C++、Python、Ruby 作为插件语言而非基础语言
注意:我不确定 XUL 是否值得在此列表中提及,因为它与其说是一种桌面 GUI 语言,不如说是一种 make-webapps-run-on-the-desktop 语言。另外,它需要浏览器才能运行。IE,它是“桌面的 DHTML”。
- 编辑器:Eclipse通过WindowBuilder,NetBeans 5.0(非免费)通过Swing GUI Builder aka Matisse
- 操作系统平台:全部
- 图形用户界面平台:Java
- 语言:仅限 Java
- 编辑:MonoDevelop
- 操作系统平台:仅限 Linux 和其他基于 Unix/X11 的操作系统
- 图形用户界面平台:GTK+
- 语言:.NET
注意:XAML 不是纯粹的开源格式,因为 Microsoft 控制其使用条款,包括随时更改条款的权利。Moonlight 不能合法地在 Windows 或 Mac 上运行。此外,唯一免于法律诉讼的平台是 Novell。有关我的意思的完整描述,请参阅此内容。XAML 也不是像 C#、托管 C++ 和 CLR 那样的 ECMA 标准。
更新:问题已从“是否有 WPF 的开源替代方案?因为原始问题是错误的,而且很糟糕。这个问题的方向已经改变方向以匹配新的输入。我很抱歉在它改变之前做出回应的人。