Flash与Silverlight 性能全方位比拼

开发 后端
自Silverlight 1.0发布以来,Web开发与设计者们关于该选择Flash和Silverlight的争论便开始了,在成熟的Flash面前,Silverlight面临着如何赢得市场的难题呢?文章就此问题,对Flash和Silverlight的技术细节进行了详尽的对比。

Silverlight 1.0发布以来,Web开发与设计者们关于该选择Flash和Silverlight的争论便开始了,在成熟的Flash面前,Silverlight面临着如何赢得市场的难题。然而Silverlight中包含了一些开发设计者们一直希望Flash能拥有的功能,诸如SEO。(51CTO编者注:近日微软牵手Adobe,在其新一代嵌入式系统Windows Phone 7上应用Flash)。

[[9396]]

动画功能

Flash使用基于帧的动画模式,在逐帧动画模式中,我们为每个帧创建对象并生成动画序列。比如你想让一个对象在3秒内穿过屏幕,计算一下3秒一共有多少帧,然后计算每帧需要的矩阵。不过Flash在实际播放中并不会真实地按设定的帧率播放,除非你在动画中插入一条空白的音轨。

Flash动画功能

Silverlight基于WPF动画模式,WPF是基于时间线,而不是帧的,你定义好起始于结束状态,WPF帮你计算中间该怎么做,不必象Flash那样同矩阵打交道,也不必计算在不同帧对象的位置。

Silverlight动画模式

文件尺寸

Flash使用压缩格式,文字和图片内嵌在整个文件中,因此Flash的文件尺寸非常小巧。

Flash文件尺寸 

Silverlight使用XAML作为描述语言,未经过压缩,因此Silverlight的文件尺寸通常要大一些。

Silverlight文件尺寸 #p#

脚本

Flash使用ActionScript,ActionScript面向对象,对用户界面设计有全面的控制,还可以同其它后端语言,如PHP,ASP,RubyOnRails进行集成交流,拥有一个强大的开发库。

Flash脚本

Silverlight的脚本可以选择多种开发语言,Visual C# .Netand Visual Basic .Net,也包括客户端语言JavaScript。C#和VB.Net可以用来编写托管代码,并可以全面使用.net框架库。

Silverlight脚本

视频和音频

Flash支持多种音频格式,最新的音频解码器质量非常高,而带宽占用也非常出色。它的视频解码器,Sorenson的专用H.263是H.263的变种,压缩也接近,但去掉了一些功能。

Flash视频与音频

Silverlight使用的是行业标准VC-1视频解码,并支持WMV和WMA,Windows Movie Maker可以很容易产生这两种格式,同时微软还提供免费的WMV,WMA编码器。

声音处理

ActionScript提供了一套声音类库,可以用来在动画中生成或控制声音,你可以在动画播放期间从资源库加入声音,同时Flash还有一些方法在整个动画中控制声音。

声音处理

Silverlight没有底层声音控制API,甚至无法播放一个WAV文件,因为.NET在音频播放上很薄弱。 #p#

可访问性

对那些有视觉或听觉缺陷的人,Flash提供了丰富的可访问性功能,视频字幕可以帮助听觉障碍者,而那些视觉障碍者需要通过键盘控制声音的播放,人们可以使用键盘快捷键控制视频播放。

可访问性

Silverlight 3首次提供对全部系统配色的支持,那些视力不佳的人可以调整到高对比度配色方案,在可访问性方面Silverligth比Flash差很多。

平台兼容性

Flash支持WindowsVista/XP/2000,WindowsServer2003/2008,MacOS10.1/10.5(PowerPC),MacOS10.1/10.5(Intel),Linux5,openSUSE11,Ubuntu7.10orlaterandSolaris10.

Silverlight只支持WindowsVista/XP/2000,WindowsServer2003/2008,WindowsMobile6,MacOS10.1/10.5(PowerPC)andMacOS10.1/10.5(Intel)。由于不支持Linux和Solaris,因此这些平台的用户无法体验Silverlight。

文字展示与SEO

Flash中的文字是基于图形的,Flash播放器无法理解TTF,因此我们无法从Flash动画中分离出文字。通常,Flash对SEO是不友好的,但Adobe已经做出一些努力让Flash中的文字可以索引,而搜索引擎也开始尝试索引Flash了。

目前,Google是唯一支持Flash索引的搜索引擎,他们同Adobe合作,设计相应的可以理解Flash内容的Google爬虫。Yahoo正在进展中,鉴于微软的Silverlight是Flash的竞争者,他们不可能在MSN中索引Flash,Silverlight是基于XAML的,Silverlight中的文字内容是独立存放的,可以被任何搜索引擎索引,因此对搜索引擎更友好。

支持的图片格式

Flash支持几乎所有图片格式。Silverlight只支持PNG与JPEG,其它格式提供有限的支持。

网络编程

Flash使用XML Socket和服务器进行沟通。

网络编程

Silverlight通过System.Net.Sockets命名空间,对网络编程提供全面支持,Silverlight可以通过4502到4534端口异步传输数据,也支持跨域通讯。

摄像头的支持

Flash支持网络摄像头和麦克风,使用Action Script可以很容易操控摄像头或麦克风。Silverlight不支持摄像头和麦克风。

部署

Flash的部署只包含一个独立的SWF文件,这个文件已经包含了所有图片,文字,动画。Silverlight的部署要复杂一些,所有独立的部件都要单独部署,典型的Silverlight请求一般包含以下内容:

◆XML文件;
◆DLL文件(如果有);
◆Silverlight.js;
◆其它JavaScript文件;
◆资源文件(图片,视频,音频)。

部署

Windows可执行文件,Flash动画可以编译成独立的Windows可执行程序,在桌面播放,Silverlight不支持。

Windows可执行文件

流媒体服务

Flash不支持流媒体服务,微软基于Windows Live的Silverlight流媒体服务可以让设计和开发者分发富媒体,结合微软的Expression Studio,开发与设计者们可以创建交互式Web程序。

流媒体服务

结论

富Internet应用的技术选择向来存在很多争议,在Silverlight和Flash中选择,完全要看你的需求,如果你的用户包括Linux和Solaris平台的,Flash是不二之选,如果希望你的网站可以被索引,Silverlight更好一些。

另外需要指出的是,安装了Silverligth插件的用户尚在少数,而绝大多数用户的浏览器中都安装了Flash插件,另外,SWF,FLA,FLV几乎成了开发标准格式,而Silverligth还是100%私有格式。

【编辑推荐】

  1. Flash,Silverlight与HTML 5三方论剑
  2. 简单Silverlight应用程序五步走
  3. 看Silverlight 3如何动态访问WCF
  4. 详解Silverlight子窗口传递参数到父窗口
  5. Silverlight 4十大诱人新特性 速度提升一倍
责任编辑:王晓东 来源: 和讯博客
相关推荐

2010-01-04 14:06:35

Silverlight

2011-03-28 10:01:59

Windows AzuVMware vFab

2012-05-24 13:25:37

TitaniumPhoneGapAppcelerato

2011-03-21 15:08:56

MongoDBCouchDB

2009-12-16 17:07:27

Ruby on Rai

2024-04-08 11:52:08

PromQL技术监控

2018-01-15 08:52:35

2009-08-06 09:37:09

Silverlight

2016-12-14 14:43:11

ButterknifeAndroid

2009-03-19 09:01:53

Silverlight微软Flash

2009-05-13 15:46:30

FlashSilverlight大比拼

2016-03-30 11:54:20

2010-08-04 14:15:44

nfs服务

2013-07-05 18:01:23

东软华为

2020-06-08 19:30:21

大数据技术智能建筑

2009-06-29 14:23:00

2009-10-26 13:41:49

机房监控

2009-12-15 10:10:42

Ruby过程对象

2009-09-08 09:46:44

思科认证介绍思科认证

2009-08-24 10:39:12

思科认证CCNA思科认证CCNA
点赞
收藏

51CTO技术栈公众号