Silverlight与Flash共同点:
1. 两者都是用于RIA(富英特网应用)开发的。
2. 两者都提供了基于矢量的图形/动画解决方案。
3. 两者的播放器都是用ActiveX写的。
4. 两者都有自己独立的图形和程序开发工具。
Silverlight与Flash不同点:
文件格式
Flash/Flex | Silverlight | |
UI代码文件 | .fla, .mxml | .xaml |
后台代码文件 | .fla, .as | .cs, .vb, .js |
编译后文件 | .swf, .swc | .dll |
支持的浏览器、操作系统
Flash/Flex | Silverlight | Moonlight | |
浏览器 | Firefox, IE, Safari | Firefox, IE, Safari | Firefox, IE, Safari |
操作系统 | Windows, Mac, Linux | Windows, Mac | Linux |
编程语言
Flash/Flex | Silverlight | |
UI描述语言 | MXML | XAML |
主语言 | ActionScript | JavaScript,C#, VB.NET |
功能
Flash 8/9 | Flex 3/Flash 10 | Silverlight 2 | |
控件库 | 有 | 有 | 有 |
UI界面描述语言 | 没有 | MXML | XAML |
2D矢量图形/动画 | 支持 | 支持 | 支持 |
3D矢量图形/动画 | 不支持 | 支持 | 部分支持 |
脚本引擎 | ActionScript2/3 | ActionScript 3 | JavaScript |
图形硬件加速 | 不支持 | 支持 | 部分支持 |
流媒体 | 部分支持 | 支持 | 支持 |
视频、音频解码器 | 无 | 部分 | 有 |
高清视频(>720p) | 无 | 无 | 有 |
P2P(Socket通讯) | 支持 | 支持 | 支持 |
在线录音 | 支持 | 支持 | 不支持 |
在线摄像 | 支持 | 支持 | 不支持 |
跨域策略 | 支持 | 支持 | 支持 |
与JavaScript通讯 | 支持 | 支持 | 支持 |
本地存储 | 支持 | 支持 | 支持 |
与服务器进行数据交换(如Web服务) | 支持 | 支持 | 支持 |
与AJAX融合的能力 | 支持 | 支持 | 支持 |
内容保护功能 | 无 | FMRMS | DRM |
SEO优化 | 不支持 | 支持 | 支持 |
本地化 | 不支持 | 支持 | 支持 |
深度缩放(电子地图需要用到的技术) | 不支持 | 不支持 | 支持 |
跨平台 | 支持 | 支持 | 部分支持,不支持Linux |
图像文件 | 支持 | 支持 | 仅支持jpg和png |
媒体标记 | 不支持 | 不支持 | 支持 |
位图特效(bitmap effects) | 支持 | ||
远程调试 | 不支持 | 不支持 | 支持 |
文件上传 | 支持 | ||
XML | 支持 | 支持 | 支持 |
XSLT | 不支持 | 不明 | 支持 |
移动设备支持 | 有 | 有 | 有 |
部署
Adobe | Microsoft | |
用于服务器的操作系统 | Linux, Windows Server 2003/2008, Solaris 10 | Windows Server 2003/2008 |
专用服务器软件 | Flash Media Interactive Server / Flash Media Streaming Server、Apache/IIS、SVN Server | Windows Media Service、IIS/Apache、 |
用于开发的操作系统 | Linux, Windows,Mac | Windows、Mac |
开发工具 | Flex Builder, Adobe Creative Suite | Visual Studio 2008 (sp1), Expression Studio, Paint.NET(可选) |
播放器装机量
目前Silverlight装机量较低,这方面Flash占据了绝对优势。
对源代码的封装
AS跟javaScript一样都属于解释型语言,它是可逆的,所以比较容易被反编译。
Silverlight发布,只是发布资源包XAP,而所有资源都在这个XAP文件中,通过源代码一般可以得到该文件,然后利用反编译工具已可以进行反编译。
美工与开发人员的配合
Flash使用的开发工具是Creative Suite 3 + Flex(or Flash CS3) +未来的Thermo。CS3里包括了全世界公认的业界标准的设计工具包:Photoshop,Illustrator, AfterEffect, Dreamweaver, Flash。绝大部分专业美工人员都会使用这些工具,而了解Blend并能熟练使用者可能不多。