跨平台桌面GUI的首选开发平台?

问题描述:

this related question of mine的回答让我选择了大部分后端服务(这是一个多组件系统)的Java。现在,我不确定这是否也是跨平台桌面GUI应用程序的不错选择。我记得使用的Java桌面应用程序具有我不喜欢的非本地外观,但我不确定这是否取决于GUI工具箱的选择而不是语言。跨平台桌面GUI的首选开发平台?

我的大部分图形用户界面都是基于网络的,桌面用户的受众(管理员,开发人员和测试人员)相对较少,所以我只能放一小部分时间预算来完成这些工作。不过,我想要本地化的外观,并避免一堆依赖项。

从我想使用的GUI工具箱开始,然后选择一种支持它的语言,这可能是最合适的。跨平台的人,我知道有:

  • GTK
  • QT
  • AIR(当它到达在Linux上)

所以,举例来说,我可能会使用GTK#与.net /单声道。我将面临什么样的依赖性问题?你会建议将实际的GUI从应用程序的其余部分中分离出来,并在Linux上使用GTK,以及Windows上的本地特性,如Windows窗体,从而避免必须在Windows上安装GTK?

Bruce Eckel是Flex作为Java和Python服务的跨平台用户界面的极大赞助商。 他写了一篇关于它相当多,在Artima:

+2

请注意,Bruce Eckel实际上是由Adobe支付的,用于撰写关于Flex的内容并对其进行推广,所以请记住,他可能并不是非常客观的来源 – Marko 2009-07-16 21:57:59

SWT是你的答案。我曾参与过一个使用SWT的项目,并且无论您投入什么项目,它都很棒。如果您使用Java,那么您可能已经使用了SWT的最佳示例:Eclipse。它适用于GTK,WinForms,可可,Qt甚至Tk。 哦!一旦你掌握了所有的基础知识,这很容易。此外,大部分组件已准备就绪。另一件事,GT​​K和C#不是那种你可能会想到的独立于平台的东西。

+0

SWT并未在最新版本的Eclipse中工作(在Mac OS X下至少)这是一个耻辱。我已经与SWT密切合作,并且极力推荐它。 Azureus洪流客户端是用SWT和Eclipse自己编写的。 – Kezzer 2008-12-31 11:35:42