Silverlight与微软技术:微软抛弃Silverlight了吗?

简介: 今年PDC大会上,微软CEO史蒂夫·鲍尔默(Steve Ballmer)将Windows Azure、HTML 5和Windows Phone 7作为开发者平台进行了大力推广,但并没有过多强调Windows应用和Silverlight,这一点令人有些意外,同时也引起了业界的一场小风波,“微软要抛弃Silverlight”等等诸如此类的猜测评论纷纷而来。

今年PDC大会上,微软CEO史蒂夫·鲍尔默(Steve Ballmer)将Windows Azure、HTML 5和Windows Phone 7作为开发者平台进行了大力推广,但并没有过多强调Windows应用和Silverlight,这一点令人有些意外,同时也引起了业界的一场小风波,“微软要抛弃Silverlight”等等诸如此类的猜测评论纷纷而来。“老赵点滴—追求编程之美”版主赵劼对此发表了一篇博文,来表达他对这场风波的看法。现全文转载于此。

话说,在最近的PDC上,微软的副总裁Bob Muglia说了类似的话“我们对Silverlight的策略改变了,我们要用HTML5来实现跨平台的应用程序”,于是乎,社区铺天盖地响起了“微软要抛弃Silverlight”的调调。出现这个说法并不奇怪,媒体转述一遍,再给社区理解一下,很正常。但是我觉得奇怪甚至有些恶心的是,当事实愈发明朗化的时候,冒出的一些莫名其妙,兴灾乐祸,事后诸葛还在愈演愈烈。这两天我在社区里看的很多说法,某些“评论家”连一些基本概念,如 “Silverlight是Windows Phone 7的开发平台”都不清楚,就来捕风捉影,实在让我难以继续旁观。

其实Bob Muglia的原话是这样的:

"Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, but HTML is the only true cross platform solution for everything, including (Apple's) iOS platform.

Silverlight将继续是一个跨平台的解决方案,未来Silverlight将持续工作在各种操作系统/浏览器平台上,但是HTML才是目前一切运用真正跨平台解决方案,包括苹果的iOS平台。

这句话的问题在哪里?我看不出任何要放弃Silverlight的意思。微软从一开始就说Silverlight将会跨操作系统及浏览器运行,目前 是,将来也是,包括Windows,Mac OS及这些平台上的各种浏览器。但是,对于移动设备又能怎么办呢?苹果的iOS上已经拒绝Flash进入,因此拒绝Silverlight也是可以预料 的,因此Silverlight方面就算尽再大努力也无法实现这点。而苹果是支持HTML 5的,因此微软为了发展,将HTML作为“跨所有平台”的手段,在我看来十分顺理成章。可能Silverlight以后不会进入iOS,但并不表示它不会 进入Android等其他手机平台,而就目前来说,Silverlight本身已经是Windows Phone 7的开发平台了。

Silverlight之于Windows Phone 7,WPF之于Windows,就好比CocoaTouch之于iOS及Cocoa之于Mac OS,它们都是十分正常的产品及开发平台策略。就拿苹果来做例子吧,CocoaTouch只能工作在iOS系统上,您担心CocoaTouch被苹果抛弃 吗?诚然,微软的手机才刚刚起步,平板电脑更是没有踪影,从商业上来说远不如iOS设备成功,但是人人都能看到微软对Windows Phone 7的重视,WP7是微软不断强调的“三屏一云”战略的重要组成部分,而Silverlight就是WP7上的开发环境,那么您为什么会担心它会被微软抛 弃?我看到有些文章的标题类似于:“Silverlight失败,未来属于移动互联网”,于是我就转不过脑子了,Silverlight对于微软来说,就 几乎等同于“移动互联网”,您一边看好移动互联网,一边觉得Silverlight挂了,你让微软情何以堪?

有人说,这次的PDC 2010都没有Silverlight的内容了,可以看出微软不要Silverlight了,否则怎么没有Silverlight 5的消息?我也觉得很奇怪,PDC是有主题的,这次的主题是Azure,IE9和WP7,因此强调的是云计算,HTML5和移动互联网开发,最后一个其实就是Silverlight。事实上Silverlight的内容本就没少,只是换了个名字叫做WP7。我不知道嚷嚷着PDC没有了Silverlight的同学有没有真正看过PDC,不过我在看,看了很多,感觉很爽。我看到了PDC的Keynote演讲上ScottGu就在现场操练Silverlight开发,分会场里也在大谈“基于Silverlight开发面向Azure平台的WP7应用程序”、“优化WP7中Silverlight程序性能”,“早该知道的WP7开发注意事项”,还有与WP7几乎无关的“使用Silverlight 4开发商业应用”,“如何在WPF和Silverlight中共享代码”等等太多内容。半年前的Mix 10大会上微软还在大谈Silverlight和WP7,只不过打得是Silverlight的旗号,而仅过了半年,微软打着自己正在全力推广的WP7的旗号来谈几乎相同的话题,您怎么就突然崩溃了呢?

PDC是微软专业会议,议程及其有限,而微软的技术实在太多,没有登上PDC讲台的话题实在太多太多了。去年的PDC还有关于CLR、虚拟化、 Windows Server的话题呢,这次都看不到了,莫非微软要抛弃这些了?如果像某些同学希望的这样,微软发布了Silverlight 5的消息,我估计对于微软铺天盖地的谴责之声就要变成“技术发展太快”了。

如果说CocoaTouch只是在iOS设备上运行,而Silverlight除了Windows Phone 7以外,之前Windows和Mac OS上该有的还有,已经在的还在。Silverlight对于微软的重要性,不会比CocoaTouch对于苹果的重要性来的差。作为一个 Silverlight开发人员原本该干什么,现在还是干什么,除此之外,退可开发WPF,进可出手WP7。ScottGu在PDC上接受Scott Hanselman采访时说, 微软将开发语言、框架、工具进行统一,让开发人员可以很自如地进入WP7的开发领域。我对WPF和Silverlight一窍不通,但我从没像现在这么羡 慕您已经掌握了这部分技术(当然其实也没那么羡慕啦,我相信自己会学得很快),因为在移动互联网的大潮下,我可能以后还真要去学习WP7上的 Silverlight开发,而您已经可以顺利过渡了。

如果您还是对Bob的那段话表示纠结的话,其实也可以继续看看他的说法了。他和微软Silverlight团队估计也没想到,当然现在也意识到事态的严重性,于是连续发表了两篇声明,一是微软对Silverlight未来的担保,二是关于PDC上关于Silverlight那些表态的后续解释,其中写到:

I said, "Our Silverlight strategy and focus going forward has shifted." This isn't a negative statement, but rather, it's a comment on how the industry has changed and how we're adapting our Silverlight strategy to take advantage of that.

我之前说到:“我们的Silverlight策略和前进的重心转移了”,这不是一个负面的说法,它只表示业界的现状改变了,我们调整Silverlight的策略希望可以利用这种改变。

在我看来,业界现状的表现之一,就是之前我所说的苹果不会接受Silverlight和Flash,但它对HTML 5友好。微软不强求Silverlight进入iOS——这是Bob之前所特地强调的设备——而是让Silverlight去迎合HTML 5大潮。例如,Adobe在刚刚结束的MAX 2010大会上展示了一款Flash至HTML 5的转化工具,那么我猜想,微软今后也会这么做吗?利用Flash和Silverlight所配备的高度生产力与HTML 5相抗衡也不失为一种竞争手段。当然,谁知道呢。此外,文章里还谈到过几个月就有下一代Silverlight的消息了,不知道这能否让某些朋友松一口气。

讨论和争议是好事,但是在这个过程中出现了一些声音让我很不满。例如某些同学连Silverlight与WP7的关系都不知道就来指点江山。 Ivony写到过类似的意思:社区里有一些人,看着某个事物不断发展却无力接触,一遇任何风吹草动却跳出来幸灾乐祸,正如这次Silverlight事 件,还有上次微软于LINQ to SQL等等。我不知道上次的那些认为微软放弃LINQ的同学,看到.NET 4.0中LINQ to SQL的更新,LINQ to Entity在最近两届PDC中的表现,以及本次PDC上随Azure出现的“LINQ to Azure,LINQ to Everything”的演讲是什么感觉。

微软的技术一定是有问题的,但是我们完全可以用合适的方式来对待,受用无穷。当然,这方面内容就下次再展开了。

作者简介:

赵劼

赵劼,网名老赵,洋名Jeffrey Zhao,目前就职于盛大创新院产品开发部,研究员。

原文链接:http://www.cnblogs.com/JeffreyZhao/archive/2010/11/02/silverlight-and-microsoft-technology-1-is-silverlight-dead.html

相关阅读:

IE 9开发大赛火热报名进行中

微软最顶级平台技术会议PDC10全程视频播放

Microsoft Web平台——优秀项目展示

Windows Phone 7 MSDN开发中心

目录
相关文章
|
Web App开发 JavaScript 前端开发
一起谈.NET技术,Silverlight的搜索引擎优化
  什么是SEO,为什么它是如此重要?   SEO(搜索引擎优化)是改善交通的数量和质量,从搜索引擎网站的过程。 这意味着,做搜索引擎优化您的网站将使其更具可转位及更多的人参观。 下面是你的规则应该坚持以做最好的搜索引擎优化几点: 标签应包含有关您网站的最重要的信息 最重要的内容应留在本页面(开始后标记) 所有图像标记号()应界定上的Alt标签-这是搜索引擎理解什么是图像的唯一途径说'   简短的开场白,RIA的世界   如今,网络空间是完全不同的网站。
1067 0
|
Web App开发
一起谈.NET技术,反编译Silverlight项目
  在互联网上,每天都会有很多Silverlight项目发布,有的是开源,有的只是为了展示。在Silverlight学习的初期,多数都需要模仿学习,所以,发现一个Silverlight项目,能够查看其中的源代码是最好不过了。
856 0
一起谈.NET技术,Silverlight中本地化的实现
  对于本地化这个功能我个人一直觉得在需求阶段就要确定该项目需不需要实行本地化,这样后面就可以减轻许多工作量,Sl中对本地化功能的支持与ASP.NET中一样,主要使用CultureInfo类来完成的。   下面来看实现本地化的具体流程,先来看一看我的项目结构:    这里我是把资源文件放入单独的项目中,这样结构上也比较的清晰。
886 0
|
索引 Windows
一起谈.NET技术,Silverlight中使用递归构造关系图
  这两天遇到一个问题,项目中需要在silverlight中使用连接图的方式来显示任务之间的关系,总体有父子和平行两种,昨天在改同事的代码,一直出问题,索性晚上写了一下实现方法。   需求   有一个List对象中存了若干个Task,这些Task对象通过ParentID属性进行关联,现在要求将这个List中的任务使用图的方式形成如父子关系和平行关系的图示例如下图:   实现方法思考   刚开始接到这个任务我就想着递归应该可以搞定了,但是仔细考虑才发现每个任务的子任务需要在一定区域内才行,需要计算子级和子级之间的距离,如果使用递归,例如上图的元素“12”的位置就没有办法很好确定了。
689 0
|
索引
一起谈.NET技术,Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
查看本系列其他相关文章请点击:Silverlight+WCF 新手实例象棋专题索引 在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 在Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)中,我们实现了用户的棋谱回放,在文章的下面,我们曾留下了两...
921 0
|
Web App开发 SQL 关系型数据库
一起谈.NET技术,Silverlight与PostgreSQL数据库的互操作(CURD完全解析)
  今天将为大家介绍如何让Silverlight使用PostgreSQL作为后台数据库以及CURD操作。   准备工作    1)建立起测试项目    细节详情请见强大的DataGrid组件[2]_数据交互之ADO.NET Entity Framework——Silverlight学习笔记[10]。
973 0
|
Web App开发 API Windows
一起谈.NET技术,Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
  Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇 Silverlight 实例教程 - Out of Browser配置,安装和卸载 Silverlight 实例教程 - Out of Browser的自定义应用 Silverligh...
1041 0

热门文章

最新文章