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

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

Advertisements
此条目发表在Achitecture分类目录。将固定链接加入收藏夹。

发表评论

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