跨平台桌面开发

STe*_*TeN 3 java air qt cross-platform

我需要为桌面PC应用程序开发(Windows,MAC,Linux)提供跨平台引擎/框架的建议.我看到了3种可能性,Qt,Java和Adobe AIR.

  • 它必须易于安装(运行时是一个缺点,但C++包装器和/或安装程序可以解决我认为的问题).
  • 它必须快速且具有丰富的GUI(不是3D游戏,但绝对是一些2D图形).
  • 开发环境必须易于建立,UI开发工具必须具有拖放功能才能定义应用程序布局.
  • 目标应用程序必须具有原生外观.应该提供专业的有偿支持.

Bar*_*ark 13

所有这些标准都由Qt满足,但"原生外观"除外.没有具有本机感的跨平台框架,特别是在OS X上,用户对应用程序的"感觉"非常苛刻.如果你真的想要原生的外观和感觉,最好用C++或C#编写一个共享框架,然后在每个平台上提供原生GUI(你可以使用MonoMac来提供一个使用C#而不是原生Objective-C的原生Cocoa UI ,如果这是你的一杯茶).

也就是说,我们对Qt(和商业支持)的跨平台开发非常满意.特别是新的OpenGL加速2D场景API使动画UI非常容易.QtCreator是一个体面的IDE,具有视觉设计器支持.


Rid*_*del 9

与其他人相反,可能是因为我在一个实时交易Swing应用程序上工作,我认为Java是你的要求的最佳答案(但是,我认为这个问题是主观的,因为之前的答案已经显示).让我发展.

它必须易于安装(运行时是一个缺点,但C++包装器和/或安装程序可以解决我认为的问题).

使用Java,您可以依赖Java Web Start,据我所知,这是易于使用的应用程序的最佳解决方案:您单击浏览器上的链接,应用程序安装在开始菜单/桌面中并作为下载后立即.似乎Adobe AIR提供了相同的功能,但在我看来,由于其生态系统的深度,Java Web Start集成了更强大的分发解决方案(例如,简单的.jnlp按需生成文件的能力).

它必须快速且具有丰富的GUI(不是3D游戏,但绝对是一些2D图形).

与大多数流行的观点相反,在Java中生成良好的图形是可能的.以一本优秀书籍的优秀肮脏富客户伴侣网站为例.

开发环境必须易于建立,UI开发工具必须具有拖放功能才能定义应用程序布局.

Eclipse是IDE的事实行业标准,它集成了多个DnD IDE构建器.我只想举例说明最近解放的Windows Builder Pro.

目标应用程序必须具有原生外观.应该提供专业的有偿支持.

好吧,Swing默认look'n'feel确实与系统1有点不同.但是,也有优秀的第三方的,上市这里,作为一个例子.

最后,举一些例子:

  • 卓越的Palantir Technologies博客列出了一些出色的Swing应用程序
  • Gephi是一个相当完整和高效的高容量图形查看器
  • 之前的工作(不要将其视为蒙面广告,它只是展示一些相当稳固的Swing的一种方式).


Chr*_*det 5

我不推荐Java用于桌面开发.我不在乎别人怎么说,与C++这样的本地语言相比,Java仍然很慢.我会选择Qt.IDE具有GUI构建器,可以集成到Eclipse或Visual Studio中.

这是一个有用的资源:http: //qt.nokia.com/products/

  • Java有其自身的缺点,但性能肯定不是其中之一.现代JITed JVM非常快(有时比C++更快,特别是在考虑内存分配时).我更担心可能需要使用与平台相关的代码.使用C++只是一些#ifdef的问题,而Java是JNI,这很痛苦. (9认同)
  • Java对于桌面应用程序而言足够快.特别是现代计算机有多强大.如果这是1996年的话,也许你是对的. (6认同)