Silverlight 作为 Web 应用程序技术的角色引发争论

  • Abel Avram
  • 王波

2010 年 9 月 15 日

话题:.NETHTML5语言 & 开发

开发者平台产品管理部经理,Brad Becker 博文中表示微软对Silverlight在 HTML5 的前景持乐观态度。尽管有人不把 Silverlight 看做真正的 Web 应用程序工具,而把它当做服务于 Web 开发市场某一领域的技术。

Becker 认为当前 HTML 主要由 Flash 和 Silverlight 两大插件技术所主导:

HTML 正采取像 Flash 和 Silverlight 等插件技术作为标准。由于这些功能在 Web 上非常流行以至于用户已把这些功能视为基本需求,故这样做很有必要。因此 Web 的技术需求起点会比以往有所提高。

与此同时,他认为用户的期望值也越来越高,用户需要的不仅是静态页面,而是像 Silverlight 那样的动态技术:

在 Web 层面上,Silverlight 的初衷并非取代 HTML。而是要让程序员轻松地实现 HTML 和其他技术无法完成的功能。微软致力于使用 Silverlight 实现 HTML 无法完成的解决方案来扩展 Web 功能。从单纯的丰富 HTML 页面到浏览器中功能强大的类桌面应用程序,甚者 Silverlight 能给用户带来丰富的体验。

Becker 提到 Silverlight 提供了 HTML5 所缺乏的主要功能,这使得微软技术更适合视频和媒体应用程序:

  • 高清视频格式 H.264 和 VC-1
  • 包含 DRM 技术的内容保护
  • 3D 视频 
  • 多播系统
  • 支持现场直播
  • (自适应)流媒体技术
  • 信息叠加即多画面技术
  • Silverlight 诊断框架支持

他还提到 Silverlight 比 HTML5 更完善的三个领域:

  • 性能——Silverlight 采用 CLR 使得性能更加完善,在 Bubblemark 的多项标准化测试中击败 Flash 和 Chrome V8
  • 一致性——内置于 Silverlight 的应用程序在任何平台上呈现出相同的内容
  • 速度——当 HTML5 仍在讨论阶段时,Silverlight 在速度上远超出市场的平均水平

最后,Becker 不忘把大家的目光转移到 Silverlight 不仅是浏览器插件,同时在桌面部署和移动设备上,让开发人员可进行跨平台开发。

针对 Becker 的博文,JetBrains 公司的技术专家 Hadi Hariri 则认为大部分 Silverlight 可完成的功能都可以用 HTML5 实现

Becker 博文中大部分提到的内容有点言过其实。我对视频技术不太熟悉,所以我对于流媒体技术不予置评,但是我在构建商业应用程序和终端客户应用程序等方面有较丰富的经验,我们使用 jQuery 和其他库也可以实现这些功能。微软技术的简洁性和易用性,如:C#,并没有实现当初的承诺,因为程序员大部分的时间用在学习正确的模式与实践以及 XAML 语言上。比起 CSS、HTML 和 jQuery 等技术,究竟这些技术让我们省心了多少?

Hariri 认为微软错误的把 Web 当做桌面看待:

微软进入 WebForms 的时候就犯了同样的错误。他们忽视了最重要的问题:Web != Desktop。他们利用已有的技术把我们带到 ViewState 和 Postback 的噩梦中去。

在所有的方法中我们经常忽略的是 Web 开发层出不穷,不仅在于我们使用的工具,同时还在于台式电脑和仪器设备和用户是一对一的,而 Web 则不是。

Becker 声明中的一点引起了其他博友的注意:

Silverlight 可让应用程序实现用户所需的丰富体验。我们把这些需求归结为三大范畴:优质的媒体体验、消费型应用程序和游戏以及商业型应用程序。

集架构师、作家和微软 MVP 于一身的 Simone Chiaretta 发现了一系列出色的 Silverlight 应用程序中存在的一个问题,即 Silverlight 并非定位于 Web 应用程序:

即使在微软的官方说明中,他们并非用 Silverlight 创建 Web 应用程序,而是用于解决 HTML/CSS/JS 中遇到的具体问题。

他还对 Becker 就 Silverlight 有而 HTML 不具备的功能持有不同意见:

如果你深入了解他们所列出的功能,并把它们与 HTML(此处 HTML 包括 HTML、JavaScript 和 CSS)进行比较,就会发现除了自适应流媒体传输和其它高级视频特性以外,所有功能都可以用 HTML 实现:HTML5 有硬件加速设备满足 Web 游戏的高性能需求,也有丰富的 JavaScript UI 控件库,比如:jQuery UI 帮助我们快速地创建丰富和具有桌面风格的 Web 应用程序,还有本地存储甚至本地数据库来存储浏览器中的本地信息,以及 Web 工作人员在高负荷的运算中维护应用程序的响应度,HTML5 还会给我们带来跟多。

Chiaretta 总结 Silverlight 适用的场合中建议微软应重新定位:

Silverlight 是一项用于创建富“Web 风格”的桌面应用程序技术,集成复杂的视频组件,可用相同技术为 Windows Phone 7 创建移动应用程序。

Silverlight 究竟在哪方面更擅长?是创建 Web 应用程序,还是像 Flash 过去那样满足特定需求而已呢?

查看英文原文:Silverlight’s Role as a Web Application Technology is Debated

.NETHTML5语言 & 开发