【问题标题】:Silverlight / Moonlight / WPF for cross-platform GUI's?Silverlight / Moonlight / WPF 用于跨平台 GUI?
【发布时间】:2014-02-23 19:39:23
【问题描述】:

我需要用 F# 编写一个跨平台的 GUI,而且我似乎没有太多选择。我有两个问题。

1.) Silverlight 是 WPF 的子集,也可以作为桌面应用程序运行,这可能足以满足我的需求。但我总是必须为任何基于浏览器的 silverlight 应用程序安装 silverlight 运行时。这是否也适用于桌面应用程序,还是安装 .NET/Mono 就足够了?

2.) 我刚刚读到可以在浏览器中运行 WPF,这是否意味着我可以将 WPF 用于跨平台 GUI?

【问题讨论】:

    标签: .net wpf silverlight user-interface mono


    【解决方案1】:

    基于 XAML 的技术仅适用于 Windows。

    Moonlight 已打折且不受支持,因此不推荐用于任何新项目。

    XBAP(浏览器托管的 WPF)仍然是 WPF。它需要 .Net 框架并且仅适用于 Windows。 也不推荐使用它,因为您使用它实际上什么都没有。将纯 WPF GUI 与它自己的窗口一起使用,而不是将 Internet Explorer 用作窗口。

    如果您需要 100% 跨平台并且愿意牺牲用户体验质量和一般代码可维护性,请使用 ASP.Net 创建一个 Web 应用程序,它将 HTML 内容交付给客户端(浏览器)。

    如果您需要在所有设备上提供原生、高质量的用户体验,那么:

    • 将您的业务逻辑放入可移植类库中。
    • 创建单独的客户端应用程序,它们都引用共享的业务逻辑:
      • 对于 Windows 桌面,请使用 WPF。
      • 对于 Windows Metro,使用 WinRT XAML。
      • 对于 Android 和 iOS,请分别使用 Xamarin.Android 和 Xamarin.iOS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2011-12-08
      • 1970-01-01
      相关资源
      最近更新 更多