Silverlight 5,你的名字是“Windows”
后来,微软对于Silverlight这种跨平台的运行时环境失去了信心。版本4.0随只面向Windows的COM互操作(COM interop)技术一同出现后――目的是为了与微软Office集成,跨平台的说法也就不攻自破。微软没有竭力将Silverlight引入到Android平台上,也没有为苹果公司的iOS提供任何解决方案;相比之下,Adobe的Flash支持Android,还为苹果的移动操作系统开发了原生软件包。
微软在2010年年底举办的专业开发者大会(PDC)上,吹嘘HTML 5是覆盖范围广泛的最佳运行时环境。时任微软服务器和工具部门的总裁Bob Muglia说:“将单单一种运行时环境安装到每一个潜在的设备上其实是不可能的。我们认为,HTML将提供最广泛的、跨平台的覆盖范围,能够覆盖所有这些设备。”而现在,Silverlight的定位却是面向Windows Phone的运行时环境,更宏伟的目标是“能够实现企业级应用开发”。
测试版的特点是现在采用了硬件加速的三维渲染
不过,Silverlight没有死。在内华达州拉斯维加斯举行的MIX大会上,微软发布了Silverlight 5测试版。另外有种种迹象表明,微软展望Silverlight扮演比Muglia所说的还要重要的角色。如今微软在自己的产品中广泛使用Silverlight。它用于Windows Azure门户网站的控件面板,还用于Windows Server 2010 Intune和Lync Server 2010。Silverlight还出现在了新的系统中心(System Center)管理工具中。微软还在对软件开发工具Visual Studio LightSwitch进行测试,用于数据库应用程序的模型驱动开发,而其结果就是Silverlight。
说不定有这种可能:这些开发团队根本没有及时接到Silverlight方面的指示。同样,Windows 8再次定于微软在今年9月举行的2011年PDC上发布,该操作系统将运行在桌面系统和平板设备上,据说其特点是将采用一个新的Windows应用程序商店。Silverlight应用程序非常适合通过应用程序商店来交付,因为它们一般是独立的,可以自动更新,而且在默认情况下采用沙盒机制,但又有一个选项:可以作为可信应用程序来运行,拥有更大的系统访问权。在这种情况下,要是看到Silverlight被赋予一种新角色不足为奇,这也许可以解释为什么开发工作在继续,包括专注于桌面系统即“浏览器外面”使用的新功能。
抛开猜测不说,我们从Silverlight 5测试版中可以得到什么?最主要的功能特性就是硬件加速的三维图形和H.264视频。微软已经将面向游戏的XNA框架的一部分移植到Silverlight,并且添加了用于渲染三维图形的DrawingSurface控件。测试版不支持XNA效果,不过预计将来的更新版会增添这项支持功能。只有在硬件加速可以使用的情况下,三维图形才能运行;一个问题是,如果Silverlight在浏览器中运行,那么使用旧款XP显示驱动程序模型(XP Display Driver Model)的视频驱动程序会遭到阻止,除非用户明确同意。
我们信任API
接下来,Silverlight应用程序作为可信应用程序在浏览器外面运行时,现在可以显示多个窗口。额外的窗口必须进行编程组装,但这不如大家想象的那么糟糕,因为可以为某个项目添加用户控件,用Visual Studio来设计,并且在运行时添加到新窗口中。
可信应用程序现在还能全面访问本地文件系统,而以前只能访问用户的主文件夹。另一个创新是,可信应用程序如今可以在浏览器里面运行,不过这是一项企业级功能,需要对注册表进行改动,还要安装代码签名证书,以便不会危及安全。
文本处理一向以来是Silverlight的软肋,但版本5.0带来了控制字符间距和行距的功能,以及在RichTextBox控件之间自动移动文本内容的功能。已定于很快推出经过改进的OpenType字体支持。
另外数据绑定方面也有几处改进,因而能够更丰富地显示绑定对象。你可以将样式值绑定到对象属性上,并根据对象样式,为对象使用不同的数据模板。你还可以在XAML中调试数据绑定,微软承诺将来会推出更多的XAML调试功能。
这个测试版绝不完备。微软已承诺为Silverlight 5进一步添加功能,包括矢量打印、远程控件支持、通过平台调用来调用Windows API的功能、64位支持以及支持WS-Trust Web服务安全。
单单一个在浏览器外面运行的Silverlight 5应用程序就能显示多个浮动窗口。
Silverlight 5将更适合游戏,而且更适合企业级应用程序,并且支持Silverlight的这个理念:一种面向Windows的新型通用运行时环境;既适用于应用程序商店中的下载程序,又适用于部署的企业级应用程序。对多窗口的支持让Silverlight更接近于桌面WPF;等到平台调用功能出现后,Silverlight应用程序在其功能方面的限制会比较少。还没有迹象表明支持本地数据库,不过Windows Phone有了SQL Server CE,不过这同样可以通过平台调用来进行改动。
Silverlight 5仍可以在Mac机上运行,不过微软副总裁Scott Guthrie在Mix大会上作关于Silverlight的主题演讲时没有提到Mac,而一些功能是专门针对Windows的。
如此看来,这款产品现在似乎变成了主要面向Windows平台的轻量级运行时环境。在这种情况下,Silverlight 5像是一款值得关注,但不是革命性的更新版。