阅读更多

34顶
3踩

非技术

转载新闻 Flash 与 Silverlight 终极大比拼

2009-05-13 10:49 by 副主编 zly06 评论(23) 有22176人浏览

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

动画功能

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

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

文件尺寸

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

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

脚本

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

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

视频和音频

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

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

声音处理

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

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

可访问性

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

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 是唯一支持 Flash 索引的搜索引擎,他们同 Adobe 合作,设计相应的可以理解 Flash 内容的 Google 爬虫。 Yahoo 正在进展中,鉴于微软的 Silverlight 是 Flash 的竞争者,他们不讨可能在 MSN 中索引 Flash。

Silverlight 是基于 XAML 的,Silverlight 中的文字内容是独立存放的,可以被任何搜索引擎索引,因此对搜索引擎更友好。

支持的图片格式

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

网络编程

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

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

摄像头的支持

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

部署

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

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

Windows 可执行文件

Flash 动画可以编译成独立的 Windows 可执行程序,在桌面播放。

Silverligth 不支持。

流媒体服务

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

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

结论

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

另外需要指出的是,安装了 Silverligth 插件的用户尚在少数,而绝大多数用户的浏览器中都安装了 Flash 插件,另外,SWF, FLA, FLV 几乎成了开发标准格式,而 Silverligth 还是100%私有格式(然而 Silverlight 已经是明文了,还谈什么开放不开放 - 译者)。

快速对比

<!-- td.vs{border:solid 1px #505050;padding:4px;} td.hd{border:solid 1px #505050;padding:4px;font-weight:bold;font-size;14px;} -->

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

本文国际来源:http://www.smashingmagazine.com/2009/05/09/flash-vs-silverlight-what-suits-your-needs-best/

 

来自: comsharp
34
3
评论 共 23 条 请登录后发表评论
23 楼 huanlong78 2010-02-09 21:50
飘过~ 不过偶看好 flash
22 楼 superwulei 2009-07-30 16:40
文章不错。
21 楼 55756016 2009-06-19 15:52
比比工资不就行了,比什么java,ms,flash
20 楼 icezx 2009-05-14 22:04
fanfree 写道

flash的失误是不支持Java ,非要什么“ActionScript”

flash怎么失误了?
flash怎么不支持java了?
你是从哪听说flash不支持java了?
与java服务端可以进行良好的交互。
19 楼 jackhe 2009-05-14 09:46
顺其自然   实践是检验真理的唯一标准  任何技术都有优缺点,主要看用的方面 ~!
18 楼 edi 2009-05-14 09:45
这种文章就没有上首页的必要了吧。
17 楼 terryang 2009-05-14 09:43
Java,装逼人士专用语言! 写道

mikewang 写道
出了好看一点以外, 在jws 或者 applet 面前 都是渣一般的存在。

jws 或者 applet除了不好用外,在用户面前都是渣一般的存在。

是啊applet 
16 楼 flyingchen 2009-05-14 09:36
qq在用Silverlight
请注意qq迷你首页左上角大图片标题
15 楼 kensokenso 2009-05-14 09:28
这里有很多Java程序员,整天跟愤青一样,除了MS去死,垃圾,不会换点别的新鲜的吗?这直接影响了这个论坛的档次.
14 楼 geminiyellow 2009-05-14 09:15
扯吧,使劲扯
13 楼 fanfree 2009-05-14 09:10
flash的失误是不支持Java ,非要什么“ActionScript”
12 楼 nathanlee 2009-05-13 23:26


引用

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

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


引用

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

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


但是!

引用
Video/Audio . Silverlight (better)
11 楼 whaosoft 2009-05-13 23:19
支持flex 鄙视微软
10 楼 ravenex 2009-05-13 20:33
引用
部署
Flash 的部署只包含一个独立的 SWF 文件,这个文件已经包含了所有图片,文字,动画。Silverlight 的部署要复杂一些,所有独立的部件都要单独部署

这原文有意思,下面的配图明明已经说明Silverlight是把资源都打包到一个.xap文件里(实际是一个zip容器+元数据);SWF也照样是把东西打包起来而已,这点算不上有多少区别,或者说微软用zip还更符合惯用标准些。Silverlight3也可以部署在桌面上了,也包含了更多的解码器,这点也没差多少。
Flash/Flex的后端用什么语言没有任何关系,SL也一样。Flash/Flex在前端只能用ActionScript 3,外加与JavaScript的交互。而SL在前端可以使用几乎所有.NET语言,包括C#/VB.NET/IronPython/IronRuby/JScript/F#等,回头看Java却无法在Applet里运行Jython。
9 楼 houlc 2009-05-13 15:58
如果Silverlight,支持Linux,unix操作系统,服务器支持java服务器的话,那会是首选,可那就不是微软的东西了。
8 楼 Java,装逼人士专用语言! 2009-05-13 15:43
mikewang 写道

出了好看一点以外, 在jws 或者 applet 面前 都是渣一般的存在。

jws 或者 applet除了不好用外,在用户面前都是渣一般的存在。
7 楼 softsnow 2009-05-13 15:07
mikewang 写道

出了好看一点以外, 在jws 或者 applet 面前 都是渣一般的存在。

还有人记得applet,不容易。
6 楼 木哥哥 2009-05-13 14:20
一看比较的人就不懂.二把刀的工夫在这比较.

SL用C#,VB开发,没XAML你能做出来吗?
5 楼 zbird 2009-05-13 14:18
Flash 使用基于帧的动画模式,在逐帧动画模式中,我们为每个帧创建对象并生成动画序列。比如你想让一个对象在3秒内穿过屏幕,计算一下3秒一共有多少帧,然后计算每帧需要的矩阵。
-----------------
不知道是否是翻译问题。
或者作者压根就没用过Flash。
4 楼 kimmking 2009-05-13 14:08
tiandinet 写道

动不动就提企业级,什么叫企业级?



企业级基本就是大企业用的。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 5 个最佳网络模拟器:Cisco Packet Tracer、Boson NetSim、GNS3、VIRL、EVE-NG

    本文介绍了5个最佳网络模拟器:Cisco Packet Tracer、Boson NetSim、GNS3、VIRL和EVE-NG。它们各自具有不同的特点和优势,适用于不同的用户和场景。选择适合自己需求的网络模拟器可以提高学习和实践网络知识的效果,加强对复杂网络环境的理解和应用能力。无论是初学者、专业人士还是研究人员,都可以从这些网络模拟器中找到合适的工具来满足自己的需求。

  • 恶劣网络环境模拟工具

    恶劣网络环境模拟工具 恶劣网络环境模拟工具 恶劣网络环境模拟工具 恶劣网络环境模拟工具

  • 模拟器网络设置(针对不能联网)

    很怪异的一个问题,全新安装了Android 2.3.3的模拟器,启动模拟器后,发现模拟器网络有问题,根本不能上网。Android 2.2模拟器就不存在这个问题,只要电脑能上网,模拟器也就能上网。…… 很怪异的一个问题,全新安装了Android 2.3.3的模拟器,启动模拟器后,发现模拟器网络有问题,根本不能上网。Android 2.2模拟器就不存在这个问题,只要电脑能上网,模拟器也就能上网。找了

  • 网络模拟器软件分享——Cisco Packet Tracer、华为eNSP、H3C Cloud Lab

    Cisco Packet Tracer(以下简称CPT)是一款由思科公司开发的,为网络课程的初学者提供辅助教学的实验模拟器。使用者可以在该模拟器中搭建各种网络拓扑,实现基本的网络配置。 下图是思科这款模拟器的欢迎界面。欢迎界面沿用了思科网络学院的的统一模板,意思是来自不同地区的人,都在使用思科的产品,足以看过这个公司的权威性。一个信封,带一个放大器,代表可以使用这款软件查看数据,即网络中传递的消息。 缺点:思科的使用界面相对比较复杂,且字体太小,虽然调节分辨率可以修改这些问题,但依然觉得字体很小,如

  • 网络模拟器 eNSP、EVE-NG、GNS3、Packet Tracert

    ​​​工欲善其事必先利其器,学习网络不可能都有真实的网络环境可以使用,这时就需要使用网络模拟软件,模拟一些网络环境,构建一些网络拓扑,然后学习研究网络技术。初学时不要在模拟器的选择上纠结,PT、GNS3 就足够。再往上就是 eNSP、

  • 网络工程师生涯中必玩的六款网络模拟器,有没有你没玩过的?

    你好,这里是网络技术联盟站。作为网络工程师,大家一定用过各种各样的模拟器,开始入门的时候大家会选择一个厂商进行系统化学习,进入工作单位后,会由于项目的原因接触各种厂商的设备,这个时候想要快速熟悉其命令,最好的办法就是用相关厂商适应的模拟器去模拟实验,那么市面上常见的有哪些模拟器呢?今天瑞哥带着大家好好了解一下!

  • python 欧氏距离_如何用NumPy计算欧氏距离?

    对于任何对同时计算多个距离感兴趣的人,我做了一些比较完成图(我的一个小项目)。结果证明a_min_b=a-bnumpy.sqrt(numpy.einsum('ij,ij-&gt;i',a_min_b,a_min_b))中的行的距离。a和b最快的。这实际上也适用于一行!再现情节的代码:importmatplotlibimportnumpyimportperfplotfromsci...

  • 国内外网络仿真软件汇总对比

    国内外网络仿真软件 1. eNSP (华为企业网络模拟平台) 2. eNSP Pro 3. OPNET Modeler 4. NS-2 / NS-3 5. OMNeT++ 6. AnyLogic 7. Matlab/Simulink 8. GloMoSim 9. Riverbed Modeler(前身为Packet Tracer) 10. DIgSILENT PowerFactory 11. Cisco Packet Tracer 12. Boson NetSim 13. GNS3 14. VIRL (Vi

  • 判断模拟器是否连网 没网进入连接中

    //写两个权限 uses-permission android:name="android.permission.INTERNET"/> uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> //进行网络判断 ConnectivityManager cm= (Connectivit

  • 联想模拟器无网络(快速)

    踩坑:用了联想官方的解决方法,还下了模拟器网络修复软件,除了把我的杀毒功能全关了以外,屁用没有。本来连得好好的,换个地方,电脑能连,模拟器却显示连接但是没网络了。最后,本小白发现只用改个地址。甚至不用输了入指令!更改为动态获取 ,就大功告成。点击网络,点击详细设置。

  • 网络工程师、网络模拟器(eve-ng、gns3、pt(packet tracert) )

    工欲善其事必先利其器,学习网络不可能都有真实的网络环境可以使用,这时就需要使用网络模拟软件,模拟一些网络环境,构建一些网络拓扑,然后学习研究网络技术 初学时不要在模拟器的选择上纠结,PT、GNS3 就足够。再往高的层次,那就看个人的喜好!............

  • WANem弱网环境模拟工具的使用探索

    通过问题实例详细介绍WANem网络损伤模拟工具的使用,并使用WireShark和iPef等工具去辅助分析问题。

  • 理论与实践相结合之Cisco Packet Tracer网络模拟器安装教程

    计算机网络,网络模拟器,Cisco Packet Tracer

  • mac地址转换工具

    将不带“:”的mac地址 如:00235A159942,转换成带“:”的格式 00:23:5A:15:99:42

  • 网络模拟器WANem使用配置图文教程

    WANem简介 由于公司在一些场合需要模拟真实的网络环境,如时延,丢包,抖动等,虽然使用Linux下的TC也可以实现该功能,但是TC有着命令行界面不利于配置,使用桥接模式时不便于远程管理的缺陷,所以本着分享的精神,现在向大家推荐一款网络模拟工具——WANem。WANem全名为WAN emulator,是一个基于开源广域网络模拟器,其也是基于TC的,其主要功能如下: 可以用来在局域

  • 『原创』+『转载』配置模拟器网络环境(访问局域网)Step by Step!

    园子里已经有很多朋友说过关于配置PPC模拟器链接局域网和外网的文章了,为了方便我之后的一个系列文章,所以,今天我又再次自己写一遍,一来巩固知识,二来为之后的文章做好基础工作,呵呵~ 好了,废话不多说,我们先下载那个Virtual Machine Network Driver for Microsoft Device Emulator(点击下载文件,次下载援引自http://www.cnblogs...

  • Android 模拟器无网络连接

      今天写一个项目通过点击按钮启动网页,没想到无网络连接,出现以下情况:   找了很多博客试了许多方法但是都不能解决我的问题,后来自己在模拟器上瞎搞才弄好。   1.打开setting               2.打开 &quot;Data usage&quot; 3.点击&quot;Cellular data&quot;即可,这时会发现右上角的小×消失了,就跟开数据流量一样哈哈哈。大家的问题可能不...

  • 复杂网络环境模拟工具软件

    复杂网络环境模拟工具软件

  • 离线安装mumu模拟器的方法

    安装的是标准引擎mumu模拟器,直接把已安装好的模拟器目录打包为ISO文件或压缩为其他文件保存。 安装到其他机子上,只要拷贝到一个目录即可。然後要运行两个文件,依次是hypervisor的批处理注册文件(.bat)和模拟器的安装文件(.exe),在其目录下可以找到。然後运行mumu模拟器修复工具,再将启动程序设为管理员运行,启动即可。 ...

  • 几大网络模拟器

    Simulator与Emulator Simulator(模拟器) Emulator(仿真器) 模拟器创建模仿(mimic)真实设备行为和配置的环境 仿真器复制真实设备的所有硬件和软件功能。 几个网络模拟器软件(Simulation tool) 网络模拟器软件主要模仿(mimic)多个设备组网的行为,主体是网络。 除了Cisco Packet Tracer,其它几个都是运行交换机/路由器的操作系统镜像。 Cisco Packet Tracer GNS3 eNSP EVE-NG

Global site tag (gtag.js) - Google Analytics