微软战略乱弹:标准才是首要目标
三、当.NET遇到Silverlight
许多人并不了解Silverlight,所以照例,这里是来自于维基百科的介绍——
Microsoft Silverlight是微软所发展的Web前端应用程序开发解决方案,是微软丰富型互联网应用程序(RichInternetApplication)策略的主要应用程序开发平台之一,以浏览器的外挂组件方式,提供Web应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序的解决方案,同时它也是微软UX(用户经验)策略中的一环,也是微软试图将美术设计和程序开发人员的工作明确切分与协同合作发展应用程序的尝试之一(另一个为WPF)。
目前Silverlight已受到各主流浏览器的支持,包含InternetExplorer、Firefox、Opera与Safari等,同时也支持Mac OS X操作系统,在Windows Mobile6.0和Symbian (Series60)手机等行动设备上也受到支持。与Silverlight相同的开放源代码解决方案“Moonlight”则提供在Linux上的支持。
很好。如果抛开广告词的话,我们可以很明确的知道,Silverlight是一种基于.NET开发的、多平台的、直接针对Adobe Flash的Web多媒体应用解决方案。
- Silverlight的前身,最初来自于Vista刚刚被开发时所公开的一种全新的界面构想,这种独特的界面设计在当时被称作 “Avalon”,而Avalon在几经周折之后,最终更名为Windows PresentationFoundation,也就是今日常见的WPF。
- WPF是一种完全基于.NET+XML的UI技术,使用一种全新的XAML(eXtensible Application MarkupLanguage)语言来开发界面。他最大的特点是将程序的开发与界面的设计分离了开来,极大的提高了工作效率。WPF中一种基于XAML+JavaScript技术的子集:WPF/E(Windows Presentation FoundationEverywhere),正是现在的Silverlight。
在发布之后,微软针对当时如日中天的Adobe Flash,不断的对Silverlight做出了多项改进,几乎所有的特性都直指Adobe的Flash,这里我们可以做一个简单的对比:
Silverlight | Flash | |
H.264等多媒体支持 | 3.0后支持(09年7月) | 9.0.115后支持(07年12月) |
GPU硬件加速 | 3.0后支持(09年7月) | 10.1后支持(10年2月) |
多平台支持 | 2.0后支持(08年10月) | 9.0.47/48后支持(07年7月) |
离线应用 | 3.0后支持(09年7月) | AIR发布(07年3月) |
以上部分资料来自维基百科相关条目,参见Microsoft Silverlight与Adobe Flash Player。
这已经十分明显了。Silverlight从最初开始,就将自己定位为Flash杀手,而微软最大的目标也就是击败老对手Adobe的Flash,让Silverlight成为网络上的全新标准。这也是Silverlight不断推出不同平台版本的意义。
不过,我们在文章的一开始就说了,这次的战场,远比XPS时要残酷的多。微软的Silverlight所面对的,除了如日中天的Flash,还有迟早要成为下一代网络标准的,HTML5。
HTML5是如此的优秀,以至于让每个接触过的网页设计者都爱不释手。而他之所以能够站在Flash与Silverlight的面前,其最大原因,就是全新的<video>标签。这个不需要任何第三方插件支持,仅靠浏览器自带功能即可播放视频的标签,从一出现就得到了极大的关注,也收获了很高的评价。这是很容易理解的事情。再怎样出色的第三方插件,也终究不可能比浏览器的第一方功能更稳定、更高效。
本着“敌人的敌人就是朋友”的原则,现在的HTML5已经拥有了包括Google、苹果在内的多家IT巨头的支持,前景一片大好;而同样的,Adobe也在倾尽全力保持Flash一贯的技术先进性。
如果说是PDF自身的糟糕状态导致了微软不用刻意推广XPS也依然能逐渐收到不错的效果的话,那么Silverlight的情况就与XPS完全相反。Silverlight所面临的,恐怕是微软至今所遇到的最强劲的竞争。他的几个竞争对手无一不是拥有广泛的群众基础、先进的技术支持、以及雄厚的资金后盾,这其中的任何一种技术都有成为互联网标准的可能。比起他们来,微软的Silverlight却显得如此无助和渺小。
Silverlight并非没有机会,他还有.NET。整合的力量往往是非常可怕的。
借助强大的WPF,Silverlight有效的降低了程序员开发UI时的痛苦。使用DIV+CSS是一件对美工技术要求比较高的工作,但使用Silverlight则可以轻易的开发出同样漂亮的节目,并利用WPF集成进.NET开发的程序中。
.NET的战略确实优秀,而这里面,也包含着微软巨大的野心。
WPF的出现,让界面设计与功能开发有效的分离了开来,而Silverlight的跨平台也让开发者不用总是担心各种各样的兼容性问题。而拥有了离线应用的功能,Silverlight还可以做的更多。
或许,这是Silverlight最大的机会,也是最后的机会。假如.NET战略持续的辉煌,Silverlight总是能够受到人们关注的。但这一切,只取决于微软肯为.NET战略砸多少钱,和砸多久的钱。假如有一天,这一前提不复存在,那么这一节文章中所讨论的一切内容,都将轰然倒塌。
无论是Flash、Silverlight还是HTML5,他们都是同样优秀的技术。但是在这个互联网上,是不可能同时存在三种标准的。
我们之前已经研究过了Silverlight。微软在对Silverlight的策略上,实际正处于一种进退维谷的地步。进,则将会受到新老两代霸主Flash和HTML5的夹击;而退,整个.NET战略都会因此而受到巨大的影响。微软不能退,更何况现在,.NET仍然有相当的优势。
既然说到了.NET战略,那么我们不能不提微软的另外一个战略,那就是Live。