Mono将不会具备Metro UI

Miguel de Icaza提及:Xamarin将不会把Metro导入其他平台,这会是Linux在桌面上失败的原因之一。对开发跨平台应用感兴趣的.NET开发人员将可以使用Mono编写业务代码,并为其他平台重写UI代码。

为了确保不会误解Xamarin对于Mono和Windows Runtime(WinRT)UI(Metro)的计划,Miguel de Icaza在博客上宣称: 他们“不会为Linux开发WinRT UI,而且也没有计划要这么做。”De Icaza认为:有可能使用一些Moonlight代码将Metro UI带入Mono,但是他觉得这么费劲不值得,表示出他对于Linux的怀疑,认为Linux可能无法跟上“其他消费者环境的成长”。

同一时间,Tim Anderson在博客中提到de Icaza的一些话,这是在BUILD 2011的私人谈话中发生的。Mono的创始人表示了他对桌面Linux当前状态的担心,而且直接暗示了Mono for Linux的走向:

老实话,对于桌面Linux,开源的好处一直在对抗它,因为我们一直在出问题。不只是Red Hat、Ubuntu、Suse之间的不兼容,甚至同样的发布版本都存在问题。Ubuntu从这周起就不在于9个月之前的版本兼容。而且还有多个版 本,KDE版本、Gnome版本,拥有新启动系统的版本。

如果你算一下在Linux上有多少出色的桌面应用,大概也就10个左右。你使劲儿想想,也许能说出20个。这一路上,我们在每一步都成功地激怒了开发人员,API总是出问题。

我的心都碎了,这是底线啊……

我想Linux在桌面上面临着困难,而且桌面也已经开始不再那么重要了。

所以,现在很清楚:我们不会看到跨平台的Metro UI了。这与Mono的方式相同,Mono不打算把WPF导入到其他平台,因为需要太多资金和工作量支持。但是,如果Mono打算跨平台,使用什么样的UI呢?De Icaza提出如下建议:

  • Windows平台:WinRT、 Winforms、WPF(替代品:GTK#、Silverlight)
  • MacOS平台:MonoMac(替代品:Gtk#、Silverlight)
  • Linux:Gtk#
  • Android:MonoDroid API
  • iOS:MonoTouch
  • Windows Phone 7:Silverlight
  • XBOX 360:基于XNA的UI

为了编写跨平台应用,针对这么多平台要使用这么多不同的UI,让人怀疑Mono是否还具有吸引力。De Icaza认为:在应用的业务代码和UI之间有明确分隔还是有价值的,而且Mono的业务代码可以在所有这些平台上运行,开发人员只需重写UI部分。这样 更好,因为原生UI代码让应用看起来更好,使用跨平台UI的要差些。

但是Web开发框架在崛起,比如jQueryjQuery UIjQuery MobilePhoneGapSencha, 整体上有向HTML5和web技术发展的趋势,Metro和Windows 8也强调了这个方向,这些让人开始思考Mono的空间还有多大,还有多少开发人员会选择Mono作为自己的跨平台解决方案。对于投入.NET的开发人员来 说,开发跨平台应用Mono还有吸引力,但是这样就足够了吗?

查看英文原文:InfoQ: There Will Be No Metro UI for Mono

译者 郑柯 曾任职《程序员》杂志副主编,《项目管理修炼之道》译者。

This entry was posted in Achitecture. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s