Mono 项目的创始人,Miguel de Icaza 说在 Mono 上支持 Windows Presentation Foundation 是有可能的,不过这需要为 15-20 个开发人员 2-3 年的开发周期提供资金。他提议可以使用其他工具包作为替代方案,不过这也需要社区的鼎力支持。
他提到的第一个选择,是使用跨 Windows、OS X 和 Linux 等系统的 Gtk#。
对于那些能够分离他们 UI 的人们,Miguel 建议使用各自平台上的原生工具包。就是说在 Windows 上用 WPF,在 OS X 上用 MonoMac,在 Linux 上用 Gtk#。虽然他没有特别提到,不过同样的情况还有,在 iPhone 上使用 MonoTouch,在 Android 平台上使用 MonoDroid。这样做才能保证最佳的用户体验。
对那些不考虑移动平台的人来说,第三个选择是 WinForms。可惜的是微软已经基本放弃这个技术,且 Mono 在这方面也不太积极了。
从长远来看,还有其他一些有趣的选择,不过每一种都需要社区积极参与,使之得以实现。
Monomac.Winforms :社区要协助我们完全基于 MonoMac 实现类似于 Winforms 那样的 API,提供原生的体验,当然这样有可能损害某些 Winforms 特性的兼容性。
创建类似于 SWT 那样的工具包,如 Eclipse 在 Java 之上所做的那样,不过这样就需要.NET 根据不同平台可映射到 Cocoa、Gtk+ 或 WPF 的能力。
在 Windows 上使用 Silverlight。并在 Linux 上使用修改版本的 Moonlight(并协助我们把 Moonlight 移植到 Mac 上)以获得和原生 OS 很好的集成(比如菜单、文件对话框、文件系统访问等方面),并可以在他们的应用程序中访问嵌入的 OpenGL 功能。
评论