自从微软专业开发者大会PDC10结束之后,网络上关于Silverlight被抛弃之说甚嚣尘上,拜读ZDNet访问BobMu的原文。
Silverlight Team在2010年9月1日发表的博文"Silverlight的未来"目前也许微软公司对外正式的回应。 不过Silverlight Team在11月1号发布了PDC and Silverlight彻底澄清了Silverlight的局面。本文参考一篇繁体中文版整理发表。
Silverlight的未来近来许多讨论一直围绕Web 与HTML 5 标准,尤其是HTML 5。人们一直在问微软Silverlight研发团队一个问题;当开发人员面对浏览器已经内建了HTML 5 <video> 标签的未来世界里,Silverlight 该扮演何种角色融入这样的环境。
这是一个很直接的问题,我会提供一个很完整的答复,但我认为对于在“标准”下Silverlight的角色问题,这是一个过于简化的提问,为了理清问题我希望先描述,为什么Silverlight在进阶媒体使用经验和应用程序的情境下是较佳的跨越浏览器,桌面环境和多种设备的技术。
标准与创新许多朋友或许不知道,微软公司接触超过150个国际标准制定组织,并参与400余项标准制定的工作,其中一项微软公司参与多年的标准就是HTML,我们承诺持续支持此一Web标准。这不仅只是空谈,微软公司现有许多技术投资是建立在HTML相关技术的基础上, 例如SharePoint,Ineternet Explorer 浏览器与ASP.NET。我们相信,未来HTML 5 将成为无所不在的标准,就如同今日的HTML 4.01。
但是就整个产业的进步而言,标准只是整个故事的一部分。各家厂商与组织可以广泛地依照标准实作出技术,像是铺设好的道路一般,引导整个业界往共同的方向迈进。但在康庄大道出现之前,必须有人先尝试走出一条小径,这就是创新。创新和标准往往是共生的,创新走在其他标准之前,使得日后建立标准时无须针对每个遇到的问题去“重新发明轮子”,寻求解决的方法。创新能够专注处理特定待解决的问题,创新也可补足或扩展现有的标准,最终成为被广泛接受的标准,羊肠小径扩展为康庄大道。
在过去已经发生好几次,浏览器中某些创新的功能,日后成为业界标准。目前HTML最新标准中许多的创新是来自于浏览器Pulg-in技术,例如Flash与Silverlight。这是必要的,因为其中某些功能目前已如此的普及,早已被网络用户视为是必须有的基本功能。所以用户对于Web标准需求的基准线,往往比过去的标准来的高,而用户的新需求往往出现得更快,未来仍有更多新的需求必须透过创新来加以解决。
这就是未来Silverlight可发挥之处,在Web应用中微软从未尝试以Silverlight取代HTML,Silverlight是协助开发人员更简易地处理HTML(和其他技术)所不容易解决的问题。微软仍然承诺利用Silverlight来扩展HTML所无法涵盖之Web应用情境。从简纯的让HTML网页内容更丰富( “islands of richness” ),到全功能与视窗桌面程序相似之应用,Silverlight提供各种用户想要的丰富使用经验,我们归类为三大类:进阶媒体使用经验,消费性应用程序与游戏,以及商业/企业应用程序。
进阶媒体使用经验应用情境包含:
- 视讯会议Webam/麦克风
- 如Netflix 般的随选视讯(Video on demand) 之DVR (digital video recorder) 数位录影功能与数位内容保护
- 重要网络媒体直播事件,如NBC,CTV,NRK,法国电视针对奥运会所提供的网络直播
- 以搭配IIS 之Smooth Streaming 技术将影音串流传送至桌面环境,浏览器,iPhone/iPad 等
尽管这些使用经验都集中在媒体播放,实际上这些是融合多种频道媒体,并为用户提供全面掌控权的全方位应用,用户可以自由决定何时何地以自己想要的形式来欣赏媒体内容。Silverlight 媒体功能的远超出了HTML 5 所能提供的功能,使得用户在目前的浏览器与未来的浏览器中都能享有一致的功能,与HTML 5 主要差别之应用情境如下:
- 高解析度(HD)H.264 和VC-1 视讯播放
- 数位内容保护,包括数位版权管理
- 立体3D 视讯播放
- 多点广播(Multicast)
- 支持现场直播
- 依用户端运算能力与频宽自动调整播放画质的(Adaptive) Smooth Streaming 技术
- 视讯播放时额外附加资讯(Information overlays) / 子母画面(Picture-in-picture)
- 以Silverlight Analytics Framework 提供视讯分析功能
消费者对于应用程序与设备之使用经验的要求不断提升,无论生产力应用程序或游戏都希望看起来,用起来与感受上都要达到一定之水准,透过美术设计师和软体开发人员Silverlight 实现人们想要拥有的这些功能:
- 完全可客制化之样式和外观
- 透过微软工具与共享专案档能力,提供最佳之美术设计师与开发人员协同合作工作流程
- 运用点阵图快取(bitmap caching) 提供流畅的动画与效果
- 投影式3D 功能(Perspective 3D )
- 运用.NET 与多执行绪(multithreading) 所呈现出反应快速之使用者界面
当用户在消费性市场中习惯了更丰富,更好的使用者经验之后,他们将会把对于应用软体与设备的高标准期望值带到了工作环境,今日的商业应用亦需要一个平台,能够满足并超越这些期望。但是传统的商业应用程序是针对内部员工所开发的,目的在于快速开发而缺乏专业美术设计师。为达到此一目的,Silverlight 提供以下丰富功能:
- 全套60+ 内建之控制项,并支持客制化样式
- 微软提供高生产力之美术设计工具与软体开发工具
- 高执行效率之.NET 与C#
- 功能强大,具备与用户互动能力之控制项,透过图表与Silverlight PivotViewer将资料视觉化
- 灵活的资料支持功能:提供资料系结(databinding),二进制XML,LINQ 和本机资料存储能力
- 列印虚拟化功能(Virtualized printing)
- 支持COM automation(包括Microsoft Office 连结能力),群组原则(Group Policy)管理
对于一般性的简单应用,我们或许不需要使用到上面提到的进阶功能,此时Silverlight和未来的HTML标准都能符合需求。然而,当您考量到兼顾现状与未来的平台技术,仍有一些其它的技术考量因素,例如执行效率,呈现一致性与时效。
执行效率
应用程序的反应速度,是否有能力处理现代应用程序所需之复杂运算,往往是关系用户使用者经验好坏的主要因素。Silverlight 运用CLR (Common Language Runtime) 与硬体加速提升视讯播放能力,此外,并可运用.NET 与多执行绪(multithreading) 呈现出反应快速之使用者界面。今日在许多情况之下,Silverlight 是Web 上速度最快的执行环境。
呈现一致性针对不同品牌浏览器之HTML 5 与CSS3 呈现一致性问题,微软正在提供呈现一致性之测试套件,以协助改善HTML 5 与CSS3 在不同品牌浏览器间显示差异的问题。HTML 与CSS 在不同浏览器间呈现差异性问题过去即存在,HTML 5 与CSS 3 的推出,将会这项问题继续存在一阵子,毕竟新规格扩展了新的应用领域,所有厂商的浏览器实作也都是新加入的。反之,以Silverlight 开发之应用程序,我们可以确保它在各种不同的环境呈现效果是一致的。
时效性在HTML 5 规格制定过程的一半时间之中,微软公司已经释出了四个主要的Silverlight 版本。目前还不清楚何时HTML 5 规格与相关测试套件会完成。对于HTML 5 中的各项新功能,目前应该关注的,是已经稳定下来所有的浏览器都支持的规格。支持HTML 5 浏览器若要达到高普及率,需要超过十亿用户安装最新版本浏览器,或是购买新设备与新机器,这将需要一段时间方能普及。当HTML 5 到达能被广为接受的时间点时,同时Silverlight 已经演进出新的重要功能。Silverlight 现在就可以应用于所有流行的浏览器与作业系统。
浏览器之外的执行能力这次讨论Silverlight的未来中,有一个关键点,Silverlight经常被提到仅是个浏览器的plug-in,甚至过去微软也曾这样定位Silverlight。现今Web不断演进,同样的Silverlight也不断地在演变发展,虽然应用程序执行于浏览器仍是我们的研发焦点,但两年之前,我们便开始展示Silverlight远超过仅是个单纯的浏览器技术。
Silverlight投资在三个浏览器以外的领域,视窗桌面,行动设备与客厅。今日Silverlight即可开发功能强大之桌面应用程序,这些桌面应用程序并不需要额外的下载,当用户安装Silverlight,这类桌面程序即可透过浏览器寻得与下载,并且每个独立的桌面应用程序都可无痛的安装或删除。Silverlight现在还可执行于行动设备,并且是Windows Phone 7的主要开发平台。学习Silverlight的开发人员,能够迅速转变成为一个能够开发手机应用的开发人员。最后,今年推出的Silverlight 4与在美国国家广播工作者协会(NAB,National Association of Broadcasters) 2010年年会中的展示,展示了如何使用Silverlight可以作为一个强大的,功能丰富的客厅设备平台。
我们期望看到Silverlight 有更多的应用在这些领域,特别是高画质的影音媒体经验,消费性应用程序与游戏,以及企业应用。当你投资时间学习Silverlight,你将有能力开发各种类型的应用程序,从商业应用到娱乐应用,从浏览器到行动设备与家庭客厅,兼顾了有趣与获利。而最好的地方是- 你可以从现在就开始开发Silverlight,并执行于600,000,000 台已经安装Silverlight 的桌上型电脑与设备。