Silverlight跨平台的特性在开发人员严重时一个非常重要的特点。那么我们如何才能正确的实现Silverlight跨平台呢?正如微软在其专业开发者大会上所表示的那样,他们会不断给Silverlight增加新特性和功能。 #t#
对于那些因为到底是使用WindowsPresentationFoundation(WPF)还是Silverlight开发Windows应用程序而感到纠结的开发人员来说,微软的生命知道在混沌中给了他们一些光明。不过,一些观察家却指出,微软的这一策略存在一个缺点。把COM技术融合到Silverlight中,微软实际上破坏了Silverlight是一个支持Windows、Mac跨平台浏览器插件这样一个之前所承诺的事情。
将于2010年中发布的Silverlight4---微软最新的Web应用框架/插件---承诺支持COM对象,只适用于运行在Windows平台上的Firefox或InternetExplorer。无论是MacOSX还是Linux都不支持COM。
微软的官员们很快指出,新增的支持COM组件特性是应客户的需求,而不是微软的个人意愿。当被问到关于其保持Silverlight同步的跨平台,微软一位发言人说:
"为了满足客户的功能需求,我们给Silverlight4增加了8000多个功能。其中一个具体的客户请求就是增加对访问COM组件的支持,以便能够让开发人员轻松访问一些
Silverlight跨平台硬件功能,比如扫描器和安全智能卡阅读器。"
微软官员表示,他们正在研究如何将某些COM组件访问增加到Mac版本的Silverlight中。上述发言人表示:
"不幸地是,Mac并提供COM接口,我们正在积极对于在Mac平台中增加类似于COM的功能进行方案评估。"
但是,关于如何以及什么时候能够让Mac版Silverlight支持COM,微软没有进一步表示。
同时,Novell的开发平台副总裁MigueldeIcaza则似乎更加急切地想为Moonlight---微软和Novell合作开发的Silverlight的开源版本---添加Silverlight4相同的功能。Icaza表示:
"对于Moonlight团队来说,Silverlight4的发布意味着有更多工作要做,我们要把Silverlight的3和Silverlight4的各项功能整合到Moonlight中。当我在PDC2009上表示‘Silverlight4的发布令我非常激动、着魔和吸引,就像刚刚应用了一倍功能饮料一样’,其实我是表达了整个Mono团队的心声。"
微软发布Silverlight4这一举动意味着Silverlight正在向微软的通用语言运行库(CLR)发展,CLR正式.Net框架的核心。开发Silverlight应用程序的桌面套件不是一个白日梦,deIcaza说,它是一个真正可行的项目。
有些开发人员已经开始憧憬Silverlight操作系统。但是微软更迫在眉睫的问题是:如果想要继续在这个市场上"玩"下去,微软必须让Silverlight跨平台持续下去。