【问题标题】:Graphical Application in Windows, Linux, MacOSWindows、Linux、MacOS 中的图形应用程序
【发布时间】:2011-03-11 08:06:26
【问题描述】:

我想构建一个至少必须在 Windows、Linux 和 MacOS 上运行的图形应用程序。我想知道你建议我应该使用什么。

我对 Java 和 C++ 有一些经验,但我考虑过首先使用 Java Swing。你有什么想法或进一步的建议(比如工具或框架)?我可能还需要连接到 PostgreSQL 数据库来存储数据。

【问题讨论】:

    标签: windows linux user-interface macos


    【解决方案1】:

    Java 可能是让您的应用程序在所有 3 个平台上运行以及添加数据库支持的最简单方法。所有这些都在 C++ 中同样可行,但肯定会涉及更多工作,因为您需要学习使用跨平台的小部件工具包。此外,C++ 数据库驱动程序的设计通常千差万别,但 Java 通过 JDBC 提供了一个统一的接口——这也意味着您可以随时更改您的底层数据库,而无需更改您的代码。

    【讨论】:

    • 同上。这就是为什么在企业中使用Java。它提供了使用 JDBC 连接到数据库所需的一切。为什么要给自己额外的工作来学习 QT、GTK 或任何其他数量的跨平台工具包,除非您无法使用现有工具完成它?
    • ODBC 标准,大多数数据库驱动程序都实现了。
    【解决方案2】:

    我会使用诺基亚的Qt 平台。它支持您提到的所有操作系统,还具有用于PostgreSQL 以及MySQLSQLite 等的数据库连接器。

    它还有一个非常不错的 IDE,QT Creator,如果你选择 Qt,你可以使用它。

    【讨论】:

      【解决方案3】:

      我也建议使用 Qt。 Qt 最近的发展非常好,他们的示例和文档库非常大,而且 LGPL 许可证也很灵活,可用于创建专有软件。它有一个很好的 Qt Creator IDE,一个 Qt GUI Designer。 Plus 具有相当多的模块,使其能够与其他语言开发的应用程序/库一起使用。而且,它用于商业/公共应用程序,如 Google Earth、Skype(可能只有 linux 版本)。因此,它具有良好的可靠性历史。是的,对于数据库,它有模块,比如 Qt-Sql。与 java 相比,您获得的另一个优势是速度。

      【讨论】:

        【解决方案4】:

        wxWidgets 使用可用的本地工具包很容易跨平台。您可能可以将 ORM 用于数据库部分,但我没有足够的经验在 C++ 下使用它们来提供实际的知情意见。

        【讨论】:

          【解决方案5】:

          GTK 是跨平台的。 Pidgin 使用它并设法摆脱了被普遍认为是完全跨平台的应用程序。不过,安装程序的大小是个问题。

          【讨论】:

          • OS X 原生版本还不够完善。
          猜你喜欢
          • 1970-01-01
          • 2018-04-18
          • 2016-11-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-27
          • 1970-01-01
          • 2018-04-24
          相关资源
          最近更新 更多