我期待开发一个WPF MVVC应用程序,该应用程序将在带有.Net Framework的Windows和带有Mono的Mac / Linux上运行。
据我所知,在Mono中实现的WPF的唯一部分是Silverlight作为Moonlight。
据我所知,可以使用Silverlight 3开发一个独立的应用程序,但月光2可以吗?
答案 0 :(得分:2)
Moonlight支持浏览器外但有限制:这是一个手动过程,尚未自动化,没有GUI(c)Miguel de Icaza。 但我认为使用Moonlight作为独立的GUI应用程序并不是一个好主意。因为首先它是具有许多严格限制的网站的客户端技术。所以使用独立的Moonlight做一些严肃的事情(比如访问文件)是不可能的。 看看GTK#。它可能对你更有用。
答案 1 :(得分:1)
你所描述的听起来有可能。据报道Moonlight 2具有浏览器外的能力。
WPF中有很多功能在Silverlight或Moonlight中都不可用。您的WPF实现将需要避免Silverlight / Moonlight中不可用的UI元素。
Microsoft已经在创建可以在WPF和Silverlight上进行多目标的应用程序方面做了一些工作。他们的Prism库支持这一点。您面临的问题应该类似。
如果您的应用程序能够在Silverlight浏览器外的沙箱中运行,则可能更容易在Windows上使用Silverlight,在Linux / OSX上使用Moonlight。如果没有,您需要确保在Linux / OSX平台上可以从Moonlight访问所需的资源。