frameworks - 桌面软件开发选项

标签 frameworks desktop

来自一个困在网络世界的程序员......

目前用于桌面应用程序开发的最常见的桌面开发“框架”有哪些?

  • 为 Windows 和 OS X 编写桌面软件是否现实?
  • 使用相同的基本代码为将具有部分 Web UI 和桌面 UI 的应用程序编写业务/数据层是否现实?
  • 最佳答案

  • 是的。您可以将 Java、Python/Ruby 等与跨平台 UI 框架、AIR 等一起使用。
  • 是的,这是现实的。在客户端/服务器模型上构建它,大多数代码都适合桌面或 Web UI 模型。

  • 如果您使用 .NET 根目录,则可以将 Silverlight 用于 Web 应用程序,将 .NET 服务器代码用于后端,甚至可以使用 Mono 来为 OS X 进行开发。

    如果你走 Java 路线,Java 在浏览器中运行,JavaFX 即将推出,它是一个类似 Flash 的小型浏览器版本。它几乎可以在所有操作系统上运行,并且可以很好地处理后端。

    Flex/AIR 提供了一种为 OS X、Windows 和 Linux 开发桌面和基于 Web 的应用程序的绝佳方式,但您需要另一种语言作为后端。 .NET、Java、PHP 等都可以作为后端正常工作。

    编辑
    应 MrJeepster 的要求,以下是 AIR 前端和 .NET 后端接口(interface)的详细信息:

    您可以通过两种方式将 AIR 连接到 .NET 后端:DIY 方式和远程处理方式。

    DIY 方式将涉及定义您自己的(可能是 XML)数据格式并使用低级 HTTP 请求对象与 HTTP 服务器进行通信,甚至使用较低级别的套接字类与其他一些服务器进行通信。

    由于好人编写了一系列免费的远程处理包,因此远程处理方式更加容易:

    http://www.adobe.com/devnet/flashremoting/articles/intro_flremoting_net.html
    http://www.themidnightcoders.com/flashorb/gettingStarted.htm
    http://www.fluorinefx.com/

    远程处理涉及在客户端和服务器之间共享对象。因此,您在 AIR 客户端上创建一些对象,让远程处理框架对其进行序列化,将其传输到服务器并将其反序列化为 .NET 对象。然后服务器对其进行处理并通过相同的路由将其或新对象再次发送回来。

    关于frameworks - 桌面软件开发选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/260265/

    相关文章:

    c++ - MSDN 文档中的 OpenInputDesktop 究竟代表什么?

    c# - 以另一种形式使用方法中的值

    c++ - 由 CppCMS 提供支持的实时网站

    css - 如何使容器宽度为 960px - 在 bootstrap 3 上固定

    ubuntu - 在 Ubuntu 12.04 上运行 Splashtop Streamer

    PHP 作为一种桌面编程语言

    linux - 以编程方式检查用户是否在桌面 - Linux

    javascript - Vue.js 方法还是单独的 js 文件?

    ios - 在 iOS 8.0 嵌入式框架中使用 Alamofire

    delphi - 如何避免重复转换为后代接口(interface)类型?