阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

雾里看花:微软的前端技术战略何去何从?

  • 2010-11-02
  • 本文字数:3350 字

    阅读完需:约 11 分钟

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

就在一个多月之前,InfoQ报道过,微软开发者平台产品管理部经理 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 的生存空间。如果微软认真检讨一下自己的平台战略,能够定下一个明确的前进方向,那也未尝不是一件好事;但若让这种混乱的局面继续维持下去的话,对开发者将是难以承受之重,对网络时代已经成为后来者的微软来说,恐怕也不是什么好兆头吧。

微软技术专家、InfoQ 中文站成员朱永光对此发表了自己的看法:

HTML 5 还处于一个标准发展的过程,现在只是由于热度很高,大家都忽视了它目前的缺点,以及未来潜在的问题。而且,我认为 HTML 5 是为了解决 HTML/CSS/JS 的问题,不太会成为一个有用的 RIA 开发技术。 而 Silverlight 及 Flex 都是成熟的 RIA 开发技术,且 Silverlight 更是具备了 Rich Client App 开发的能力,所以两者不具备替代性。

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

另一位微软技术专家、InfoQ 中文站成员赵劼在自己的博客上表示微软没有放弃 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 进行投入,并确保开发人员在未来能够继续利用它创造优秀的应用程序。

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

2010-11-02 01:243504
用户头像

发布了 501 篇内容, 共 248.1 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

Java-进阶:集合框架2,熬夜整理华为最新Java笔试题

JVM调优资料

Java 程序员 面试 后端

Java中高级核心知识全面解析(4),Java开发中遇到最难的问题

JVM调优资料

Java 程序员 面试 后端

20位大厂面试官推荐的《Java面试八股文,高级架构师百度云资源

欢喜学安卓

Java 程序员 面试 后端

java 通过 SmbFile 类操作共享文件夹,膜拜大牛

JVM调优资料

Java 程序员 面试 后端

JavaScript是解释型语言--V8、JIT,Java重点知识大全

JVM调优资料

Java 程序员 面试 后端

Java中高级核心知识全面解析,张孝祥Java基础视频教程

Java 程序员 面试 后端

C#索引器的实现,黑马程序员Java基础入门

Geek_f90455

Java 程序员 面试 后端

HashMap源码解析,Java黑马程序员资源

Geek_f90455

Java 程序员 面试 后端

apk瘦身;如何缩小体积呢,Java面试笔试题及答案

欢喜学安卓

Java 程序员 面试 后端

C#位运算,面试要掌握这几个关键点

Geek_f90455

Java 程序员 面试 后端

Vue深入学习3—数据响应式原理

魁首

Java 反射 getClass(),最新Java大厂高频面试题

JVM调优资料

Java 程序员 面试 后端

2021最新版SpringCloud高频面试题分享,【性能优化实战

欢喜学安卓

Java 程序员 面试 后端

Vue深入学习2—虚拟DOM和Diff算法

魁首

DOM Vue 3 Diff

ELK性能优化实战总结:我强任我强,美的Java面试题

Geek_f90455

Java 程序员 面试 后端

Git-如何优雅地回退代码,字节跳动内部学习资料泄露

Geek_f90455

Java 程序员 面试 后端

GitHub-标星过万!腾讯技术官发布的,腾讯Java社招面试经验

Geek_f90455

Java 程序员 面试 后端

Hystrix-服务容错处理:什么是Hystrix,鲁班学院二期

Geek_f90455

Java 程序员 面试 后端

java springboot,大专生面试阿里P7居然过了

JVM调优资料

Java 程序员 面试 后端

ArrayList(Java8,阿里大牛把「服务雪崩」玩到了极致

Geek_f90455

Java 程序员 面试 后端

保持信心

Nydia

Dubbo如何支持本地调用?InJvm方式解析,阿里官方推荐

Geek_f90455

Java 程序员 面试 后端

Java个人学习之旅(第十天),黑马程序员Java全套视频

JVM调优资料

Java 程序员 面试 后端

Dagger2源码分析(二,深入理解Java虚拟集百度云

Geek_f90455

Java 程序员 面试 后端

Java 集合容器篇面试题(上,Java中高级程序员进阶

JVM调优资料

Java 程序员 面试 后端

404,【大牛系列教学

欢喜学安卓

Java 程序员 面试 后端

Java内联函数,SpringBoot集成Redis集群

Java 程序员 面试 后端

IDEA的中文注释引起的程序报错!,那些被大厂优化的程序员们

JVM调优资料

Java 程序员 面试 后端

J2EE基础集合框架之Map集合,公司初级程序员Java面试题

JVM调优资料

Java 程序员 面试 后端

常见的静态负载均衡算法

Albert

算法 8月日更

Apache APISIX 2.8 正式发布,带来更多新功能!

API7.ai 技术团队

开源 网关 APISIX

雾里看花:微软的前端技术战略何去何从?_.NET_崔康_InfoQ精选文章