技术开发 频道

PDC激千层浪 微软前端技术战略何去何从

    【IT168 评论】微软在PDC 10大会上针对Silverlight和HTML 5的不同态度以及由此引起的前端战略走向猜测在国内外社区中激起了热烈讨论,IT168技术频道试图勾勒出事件的来龙去脉,读者朋友可以借此对这次讨论进行充分的认识和思考。

  就在一个多月之前,IT168报道过,微软开发者平台产品管理部经理Brad Becker表示微软对Silverlight在HTML5的前景持乐观态度:

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

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

  · 性能——Silverlight采用CLR使得性能更加完善,在Bubblemark的多项标准化测试中击败Flash和Chrome V8

  · 一致性——内置于Silverlight的应用程序在任何平台上呈现出相同的内容

  · 速度——当HTML5仍在讨论阶段时,Silverlight在速度上远超出市场的平均水平

  然而,本次的微软PDC 10大会引起了全球开发者的瞩目,会议对微软未来技术走向的明示或者暗示都会引起社区的猜测和议论。会后,有国外媒体以《微软:我们的Silverlight战略已经改变》为标题发表了一篇颇具爆炸性的新闻,通过PDC大会针对Silverlight和HTML 5的不同待遇猜测微软的前端战略已经发生了变化:

  PDC上没有SilverLigtht 5的专题会议,只在主题演讲中提到过一次!与此形成鲜明对比的是,HTML 5被多次提及,不仅仅是将在下一代IE浏览器中得到支持,更被称为“后台系统和前端展示层之间独立和创新的粘合层”(微软CEO史蒂夫鲍尔默语)。

  针对Silverlight的发展定位,微软负责服务器和工具业务的主管Bob Muglia表示:

  Silverlight是Windows Phone系统的开发平台,在某些媒体和业务线应用中也会增光添彩.......

  (谈到Silverlight作为微软跨平台运行时的前景时),我们的战略已经发生变化,Silverlight将继续是一种跨平台解决方案,运行于各种操作系统和浏览器上,但是,HTML是唯一适用于所有环境的真正跨平台解决方案,包括iOS平台。

  除此之外,Muglia还暗示Silverlight的下一版本将继续发布,但日期可能推迟。

  Silverlight官方论坛上针对这篇新闻进行了激烈的讨论。

  Bart Czernicki列举了5条理由批评微软的这种做法:

  1. HTML 5还没有形成正式标准,需要完善。

  2. 虽然IE 9支持HTNL 5,但是IE6-8不支持,而且占有相当大的市场份额。

  3. 微软还没有发布自己的HTML 5开发工具,这让熟悉微软技术的开发人员无所适从。

  4. 各个公司的首席技术官们在看到这些消息时会慎重考虑如何选择前端技术及其稳定性,或许飘摇不定的Silverlight不会在他们的候选名单之列。

  5. Silverlight的发展趋势不明朗,让众多投身其中的开发人员痛苦和沮丧。

  而也有人指出“微软轻视Silverlight”的说法是场误会,因为本次PDC会议恰好处于Silverlight4、5版本发布间歇期,所以不会安排太多有关Silverlight的活动,预计明年的MIX 2011大会将重点介绍。

  微软的前端技术走向也引起了国内技术社区的讨论。

  网名为yhwork的朋友在一篇博文中对近年来微软在前端技术战略上的摇摆不定表示了自己的忧虑:

  本来,一种技术的兴衰犹如人有生老病死,本不足论。但我以为这次的事件暴露出微软的一个痼疾,即自从GDI时代以后,微软在表示层的战略问题上一直是举棋不定的。

  ......微软在上个世纪末的时候曾经有一段时间非常钟爱HTML技术......进入.Net时代以后,微软主推的客户端表现层技术是WinForm.......在很多开发人员还在学习WinForm 2.0时,很快又推出可以说是彻底推倒重来的WPF,这在开发社区中引起了相当的震动和混乱。尽管从技术角度可以有很多理由来说明WPF的出现有其合理性,但还是有很多开发者因此对微软产生了技术平台更新换代过于频繁、罔顾保护开发者技术投资的恶评,很多社区因此弥漫着对微软不信任的态度。

  如果你认真看看微软现在的表现层技术,或许会为其数量而吃惊。客户端技术有WinForm和WPF,当然你还可以算上更老的MFC;浏览器上有ASP.NET,后来又变化出ASP.NET MVC,还有WPF/XBAP,再有Silverlight;为了引入Ajax自己开发了Atlas,后来又引用开源的JQuery。

  .......目前,基本上不再更新的WinForm和微软都不再有兴趣维护的Atlas(ASP.NET Ajax)已经有出局的迹象,ASP.NET和ASP.NET MVC的争论在很长时间内仍将继续,而这次被曝的是Silverlight,则有点出乎我的意料。毕竟在此之前Silverlight给人的印象是处于急速上升期并且微软也在力捧的技术,难道这么快就要被边缘化了?不论微软自己如何解释,Web已经不能算是一个可以把蛋糕无限做大的新兴市场,HTML5流行起来的话无论如何都会挤压Silverlight的生存空间。如果微软认真检讨一下自己的平台战略,能够定下一个明确的前进方向,那也未尝不是一件好事;但若让这种混乱的局面继续维持下去的话,对开发者将是难以承受之重,对网络时代已经成为后来者的微软来说,恐怕也不是什么好兆头吧。

  微软技术专家对此发表了自己的看法:

  HTML 5还处于一个标准发展的过程,现在只是由于热度很高,大家都忽视了它目前的缺点,以及未来潜在的问题。而且,我认为HTML 5是为了解决HTML/CSS/JS的问题,不太会成为一个有用的RIA开发技术。

  而Silverlight及Flex都是成熟的RIA开发技术,且Silverlight更是具备了Rich Client App开发的能力,所以两者不具备替代性。

  就微软的策略而言,也许他们打算借助HTML 5来加入Web开发的混战,而Silverlight需要去完成“云+端”战略的使命。

  另一位微软技术专家在自己的博客上表示微软没有放弃Silverlight,从多个角度澄清了这一事件:

  Silverlight之于Windows Phone 7,WPF之于Windows,就好比CocoaTouch之于iOS及Cocoa之于Mac OS,它们都是十分正常的产品及开发平台策略。就拿苹果来做例子吧,CocoaTouch只能工作在iOS系统上,您担心CocoaTouch被苹果抛弃吗?诚然,微软的手机才刚刚起步,平板电脑更是没有踪影,从商业上来说远不如iOS设备成功,但是人人都能看到微软对Windows Phone 7的重视,WP7是微软不断强调的“三屏一云”战略的重要组成部分,而Silverlight就是WP7上的开发环境,那么您为什么会担心它会被微软抛弃?

  ......我不知道嚷嚷着PDC没有了Silverlight的同学有没有真正看过PDC,不过我在看,看了很多,感觉很爽。我看到了PDC的Keynote演讲上ScottGu就在现场操练Silverlight开发,分会场里也在大谈“基于Silverlight开发面向Azure平台的WP7应用程序”、“优化WP7中Silverlight程序性能”,“早该知道的WP7开发注意事项”,还有与WP7几乎无关的“使用Silverlight 4开发商业应用”,“如何在WPF和Silverlight中共享代码”等等太多内容。

  在我看来,业界现状的表现之一,就是之前我所说的苹果不会接受Silverlight和Flash,但它对HTML 5友好。微软不强求Silverlight进入iOS——这是Bob之前所特地强调的设备——而是让Silverlight去迎合HTML 5大潮。例如,Adobe在刚刚结束的MAX 2010大会上展示了一款Flash至HTML 5的转化工具,那么我猜想,微软今后也会这么做吗?利用Flash和Silverlight所配备的高度生产力与HTML 5相抗衡也不失为一种竞争手段。

  也许因为没有预料到这次事件会引起如此大的争论,所以微软团队马上在Silverlight的官方网站上发布声明,事件主角Bob Muglia在《PDC和Silverlight》中表示他的原话不是一种消极说法:

  这仅仅是说明行业在变化,我们也正在采取措施使Silverlight战略能够充分利用这些变化。

  Silverlight的目的绝不是替代HTML,而是从事HTML(和其他技术)无法完成的工作,从而方便开发人员。Silverlight提供了优秀的客户端应用和媒体体验。目前全球有超过三分之二的电脑安装了Silverlight,而且60万多万名开发人员使用它构建应用。请不要误会,我们将继续对Silverlight进行投入,并确保开发人员在未来能够继续利用它创造优秀的应用程序。

      有关讨论依然如火如荼,不知微软的表态是否会让争论平息。读者朋友对此次讨论持何种看法,欢迎发表自己的意见。

0
相关文章