关于Silverlight战略转移新闻,我的思考
在说正题之前先来两段小八卦。
Silverlight的老用户可能会知道,在微软发布该产品之初曾经推出一个名为Silverlight Streaming Service的免费服务,允许开发人员在上面Host 自己的Silverlight应用程序和相关的媒体资源。推出此服务的目的当然意在吸引开发者对Silverlight技术的兴趣,我就曾经在上面放过两个小程序。但是大约在一年前,微软悄无声息的取消了该服务,据说是为了让位于Azure平台。实际上这已经可以看作一个微弱的信号,表明微软的战略确实有转变的倾向,而且这个倾向早在一年前就开始了。
另一个消息就比较近了。有位开发者进入微软,并且目睹了微软内部团队在到底是HTML5还是Silverlight的问题上存在争论。他把自己的见闻发表了出来,引起了不小的风波。这之后又有微软的经理出来辟谣,说Silverlight和HTML路线不同,不存在矛盾云云。现在再来看这则旧闻,当真是空穴来风,未必无因。一个人的看法或许会失之片面,但是微软内部对自己的发展路线也存在分歧这一点,现实地来看应该是没有错的。
本来,一种技术的兴衰犹如人有生老病死,本不足论。但我以为这次的事件暴露出微软的一个痼疾,即自从GDI时代以后,微软在表示层的战略问题上一直是举棋不定的。
有多年经验的开发人员可能还会记起,微软在上个世纪末的时候曾经有一段时间非常钟爱HTML技术。不仅在Visual Studio的各个版本中都要求用户安装最新版的IE,许多软件界面,包括Windows平台开发SDK的安装界面都是用HTML来做的,还专门开发了强大的HTA技术,以及堪称Ajax鼻祖的异步Xml通信技术等一大堆新鲜玩意。但时间进入21世纪,微软开启.Net平台战略,这一块也就渐渐不再为人提起了。
进入.Net时代以后,微软主推的客户端表现层技术是WinForm。但说实话,Net 1.0和1.1版的WinForm远远达不到成熟的地步,直到2.0的时候才算大器堪成,但是微软这时候作了一件让很多开发人员吃惊的事情:在很多开发人员还在学习WinForm 2.0时,很快又推出可以说是彻底推倒重来的WPF,这在开发社区中引起了相当的震动和混乱。尽管从技术角度可以有很多理由来说明WPF的出现有其合理性,但还是有很多开发者因此对微软产生了技术平台更新换代过于频繁、罔顾保护开发者技术投资的恶评,很多社区因此弥漫着对微软不信任的态度。老实说,我认为微软当时推行3W(WPF/WCF/WF)的做法是过于冒进了。后来的事实也证明,当时的WPF无论在完整性和性能上都存在重大问题,WCF也受到过于繁琐等诟病,WF——大家都知道了——几乎被彻底改写。如果微软能够把节奏放慢一些,等这些技术更加成熟之后再推介给开发者,也许局面就会好得多。
如果你认真看看微软现在的表现层技术,你或许会为其数量而吃惊。客户端技术有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的生存空间。如果微软认真检讨一下自己的平台战略,能够定下一个明确的前进方向,那也未尝不是一件好事;但若让这种混乱的局面继续维持下去的话,对开发者将是难以承受之重,对网络时代已经成为后来者的微软来说,恐怕也不是什么好兆头吧。
最后还是用一个八卦结尾。有消息称,微软和Adobe的老总最近密会了相当长的时间。根本的理由当然是共同对付苹果,但是这两家坐到一起,在过去恐怕是难以想象的。移动平台这一块暂且按下不表,如果微软和Adobe彼此当真有兴趣的话,你认为这对Flash和Silverlight来说意味着什么?
相关文章
- EasyCVR对接华为iVS订阅摄像机和用户变更请求接口介绍
- 精选 | 腾讯云CDN内容加速场景有哪些?
- 模块化网络防止基于模型的多任务强化学习中的灾难性干扰
- 用搜索和注意力学习稳健的调度方法
- 用于多变量时间序列异常检测的学习图神经网络
- 助力政企自动化自然生长,华为WeAutomate RPA是怎么做到的?
- 使用腾讯轻量云搭建Fiora聊天室
- TSRC安全测试规范
- 云计算“功守道”
- 助力成本优化,腾讯全场景在离线混部系统Caelus正式开源
- Flink 利器:开源平台 StreamX 简介
- 腾讯云实践 | 一图揭秘腾讯碳中和?解决方案
- 深度学习中的轻量级网络架构总结与代码实现
- 信息系统项目管理师(高项复习笔记三)
- Adobe国际认证让科技赋能时尚
- c++该怎么学习(面试吃土记)
- 面试官问发布订阅模式是在问什么?
- 面试官:请实现一个通用函数把 callback 转成 promise
- 空中悬停、翻滚转身、成功着陆,我用强化学习「回收」了SpaceX的火箭
- 中山大学林倞解读视觉语义理解新趋势:从表达学习到知识及因果融合