【问题标题】:What to use when building a desktop application? [closed]构建桌面应用程序时使用什么? [关闭]
【发布时间】:2010-11-16 01:02:28
【问题描述】:

我正在制作自己使用的桌面应用程序。

我无法决定使用哪种语言/工具包/框架。

我想要良好的用户体验和不那么糟糕的性能。

我心中的选择是:

  1. wxPython
  2. Adobe AIR
  3. 任何其他适合的建议

-- 编辑

我也希望它是跨平台的

经验,我在 Java、Python、HTML/JS 方面有一些经验。 (还没有做太多.net 的东西)。 如果需要,我会活着学习。

【问题讨论】:

  • 我也希望它是跨平台的
  • 平台?经验?申请?

标签: desktop desktop-application


【解决方案1】:

还有很多其他的考虑因素。

什么平台?什么操作系统?什么级别的向后兼容性?客户端上有哪些运行时? 您需要什么样的图形支持? 3D?二维? 您需要什么样的互操作性? 您的部署方案是什么? 你想用什么语言写这个?

实际上有数百种技术。只有在指定了主要约束条件后,您才能提出设计。

【讨论】:

    【解决方案2】:

    我要说的第一件事是,我会尽可能支持 Web 应用程序。当然对于很多你不能做的事情——例如网络浏览器。 :) 但是你应该在哪里。当然你有跨浏览器的问题,但现在桌面应用的操作系统/库成本真的很高。

    话虽如此,如果您正在做的事情需要作为桌面应用程序完成,或者您只是想按照个人喜好这样做,我会选择:

    • .Net(C# 或 VB.NET)如果您只需要在 Windows 上运行或
    • Java(Swing、SWT 等)如果您想在非 Windows 平台上运行。

    我会从这两个中进行选择,除了它们是最成熟的。当然还有其他选择 Adob​​e Air、Python 等。尤其是 Python 中编写了真正的应用程序,所以它是我的第三选择。但总体而言,这些堆栈在此特定任务中的证明较少。

    【讨论】:

      【解决方案3】:

      取决于您的桌面操作系统。对于 Windows,您可以获得 C# 或 VB.Net 的 Microsoft Visual Studio Express Edition。对于 Mac 计算机基于英特尔的计算机,您可以使用免费的 XCODE 来执行此操作或使用 JavaScript 构建小部件应用程序。

      【讨论】:

        【解决方案4】:

        另一个值得关注的选项是 QT. 这是一个带有 Java & Python Bindings. 的跨平台 C++ 框架。它确实归结为您想要构建的应用程序类型以及您想要针对的平台.如果您专门针对 Windows,您可能需要考虑使用 .NET 和 C# 来利用本机支持,在 OSX、Objective-C 和 Cocoa 上,或者在 Linux C/C++ 和任何 API 设置您的目标发行版使用。对于跨平台,您希望针对哪些平台?视窗?操作系统? Linux(Ubuntu、OpenSuse、Fedora 等)?这也将决定你的选择。

        【讨论】:

          【解决方案5】:

          试试 Flexonrails

          然后用 adobeAir 转换

          :)

          会很好的

          我正在用它做我的桌面应用程序

          【讨论】:

            【解决方案6】:

            正如其他人指出的那样,取决于您可以使用的技能和工具。

            如果您使用的是 Windows,一个简单的可访问选项是 HTA 应用程序。

            http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx

            如果您使用的是 Mac,dashcode 是一个类似的选项,不仅可以用于创作小部件,还可以用于 Web 应用程序。

            这两个选项都可以让您访问比典型 javascript 访问权限更多的 api,例如文件系统访问权限或执行系统命令的能力。

            还有无数其他选项,但这些选项随各自的操作系统免费提供。

            【讨论】:

              【解决方案7】:

              取决于您想要构建什么样的应用程序,但您绝对应该将评估(至少)Delphi 的工具列在列表中。

              它编译为原生win32,是一个快速的应用程序开发工具,支持数据库、互联网、com等许多领域。此外,它内置在 Object Pascal 中,这是一种非常易于学习的语言。

              在某种程度上,您可以使用其他 IDE(例如 Linux 中的 Lazarus)使其应用程序跨平台。

              【讨论】:

                【解决方案8】:

                截至 2018 年 3 月 20 日,几乎所有内容都转移到了 javascript。看看 Electron.js 。用 javascript 、 html 和 css 构建跨平台桌面应用程序很有用。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-02-15
                  • 2012-05-04
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多