【发布时间】:2011-03-11 08:06:26
【问题描述】:
我想构建一个至少必须在 Windows、Linux 和 MacOS 上运行的图形应用程序。我想知道你建议我应该使用什么。
我对 Java 和 C++ 有一些经验,但我考虑过首先使用 Java Swing。你有什么想法或进一步的建议(比如工具或框架)?我可能还需要连接到 PostgreSQL 数据库来存储数据。
【问题讨论】:
标签: windows linux user-interface macos
我想构建一个至少必须在 Windows、Linux 和 MacOS 上运行的图形应用程序。我想知道你建议我应该使用什么。
我对 Java 和 C++ 有一些经验,但我考虑过首先使用 Java Swing。你有什么想法或进一步的建议(比如工具或框架)?我可能还需要连接到 PostgreSQL 数据库来存储数据。
【问题讨论】:
标签: windows linux user-interface macos
Java 可能是让您的应用程序在所有 3 个平台上运行以及添加数据库支持的最简单方法。所有这些都在 C++ 中同样可行,但肯定会涉及更多工作,因为您需要学习使用跨平台的小部件工具包。此外,C++ 数据库驱动程序的设计通常千差万别,但 Java 通过 JDBC 提供了一个统一的接口——这也意味着您可以随时更改您的底层数据库,而无需更改您的代码。
【讨论】:
我会使用诺基亚的Qt 平台。它支持您提到的所有操作系统,还具有用于PostgreSQL 以及MySQL、SQLite 等的数据库连接器。
它还有一个非常不错的 IDE,QT Creator,如果你选择 Qt,你可以使用它。
【讨论】:
我也建议使用 Qt。 Qt 最近的发展非常好,他们的示例和文档库非常大,而且 LGPL 许可证也很灵活,可用于创建专有软件。它有一个很好的 Qt Creator IDE,一个 Qt GUI Designer。 Plus 具有相当多的模块,使其能够与其他语言开发的应用程序/库一起使用。而且,它用于商业/公共应用程序,如 Google Earth、Skype(可能只有 linux 版本)。因此,它具有良好的可靠性历史。是的,对于数据库,它有模块,比如 Qt-Sql。与 java 相比,您获得的另一个优势是速度。
【讨论】:
wxWidgets 使用可用的本地工具包很容易跨平台。您可能可以将 ORM 用于数据库部分,但我没有足够的经验在 C++ 下使用它们来提供实际的知情意见。
【讨论】:
GTK 是跨平台的。 Pidgin 使用它并设法摆脱了被普遍认为是完全跨平台的应用程序。不过,安装程序的大小是个问题。
【讨论】: