Silverlight能真正实现跨平台吗?

正如微软在其专业开发者大会上所表示的那样,他们会不断给Silverlight增加新特性和功能。

对于那些因为到底是使用Windows Presentation Foundation(WPF)还是Silverlight开发Windows应用程序而感到纠结的开发人员来说,微软的生命知道在混沌中给了他们一些光明。不过,一些观察家却指出,微软的这一策略存在一个缺点。把COM技术融合到Silverlight中,微软实际上破坏了Silverlight是一个支持Windows、Mac跨平台浏览器插件这样一个之前所承诺的事情。

将于2010年中发布的Silverlight 4—微软最新的Web应用框架/插件—承诺支持COM对象,只适用于运行在Windows平台上的Firefox或Internet Explorer。无论是Mac OS X还是Linux都不支持COM。

微软的官员们很快指出,新增的支持COM组件特性是应客户的需求,而不是微软的个人意愿。当被问到关于其保持Silverlight同步的跨平台,微软一位发言人说:

为了满足客户的功能需求,我们给Silverlight 4增加了8000多个功能。其中一个具体的客户请求就是增加对访问COM组件的支持,以便能够让开发人员轻松访问一些硬件功能,比如扫描器和安全智能卡阅读器。

微软官员表示,他们正在研究如何将某些COM组件访问增加到Mac版本的Silverlight中。上述发言人表示:

不幸地是,Mac并提供COM接口,我们正在积极对于在Mac平台中增加类似于COM的功能进行方案评估。

但是,关于如何以及什么时候能够让Mac版Silverlight支持COM,微软没有进一步表示。

同时,Novell的开发平台副总裁Miguel de Icaza则似乎更加急切地想为Moonlight—微软和Novell合作开发的Silverlight的开源版本—添加Silverlight 4相同的功能。Icaza表示:

对于Moonlight团队来说,Silverlight 4的发布意味着有更多工作要做,我们要把Silverlight的3和Silverlight4的各项功能整合到Moonlight中。当我在PDC2009上表示Silverlight 4的发布令我非常激动、着魔和吸引,就像刚刚应用了一倍功能饮料一样,其实我是表达了整个Mono团队的心声。

微软发布Silverlight 4这一举动意味着Silverlight正在向微软的通用语言运行库(CLR)发展,CLR正式.Net框架的核心。开发Silverlight应用程序的桌面套件不是一个白日梦,de Icaza说,它是一个真正可行的项目。

有些开发人员已经开始憧憬Silverlight操作系统。但是微软更迫在眉睫的问题是:如果想要继续在这个市场上玩下去,微软必须让Silverlight保持跨平台性。