首先需要弄清楚二者之间最主要的区别,HTML 是一种语言(超文本标记语言——HyperText Markup Language),而 Flash是Adobe(其收购了Macromedia)公司的一个浏览器插件(Plugin)。HTML5 目前还是 W3.org 规范中一个草案,这意味着其还没有最终定案,希望到 2012 年这项工作能够完成。
以下是二者各自的一些特点:
HTML5
这个新的技术更为易学和易用,比较 .FLA 和 .SWF 文件更容易编辑。并且基本上过去所有由 Flash 才能制作的动画效果都能够使用 JS + HTML5 + CSS 3 来完成,不过工作量可能会更大一些,不仅文件尺寸会增大,性能方面也会有影响。
以前为 Web 表单设定风格我们一定需要使用到 JavaScript, 但是 HTML5 中的 contenteditable 属性让我们可以做得更多。一些新的输入类型(Types of Inputs)也被加入到 HTML5 中,如:电子邮件,数字,值范围等等。
用户不仅仅需要一个支持 HTML5 的浏览器,还需要 CCS 3 和新的 JavaScript 引擎的支持。
免费(不包括第三方字体和音频视频等等)
更好地移动设备支持(HTML5 正在被运用于 iPhone,iPod,iPad 和 Android 应用的开发)
拖拽,事实上这不是 HTML5 的一部分,但是在新版本的 GMail 中,从桌面拖拽文件到浏览器能够用 HTML5 很好地实现。对于 Flash 我不知道这是否可以实现?
Flash
文件经过压缩,所以文件尺寸会比 HTML5 + CSS + JavaScript + 图像 + 其他 小。
硬件优化
需要安装 Flash 插件, Android 2.2(代号 FroYo)同样支持 Flash 插件。
Adobe 在它的 Creative Suite 5 中包含了 Flash Builder 4.0。
也许对很多人来说,相对于 HTML + JavaScript + CSS,Flash 应用 更难于”破解”。
以下是一些 Flash 能够实现而 HTML5 + JavaScript + CSS 3 不能的功能:
增强现实(Augmented Reality)
3D
真正的面向对象,而非原型(Prototyping)
对麦克风和摄像头的支持(事实上 HTML5 已经宣布要提供这些支持)
混色模式(如:渐进色,重叠色等等)
Action Message Format (AMF)
二进制数据(Binary Data)
位图数据(BitMapData,HTML5 的画布 Canvas 和矢量标记语言 VML 可以实现近似的功能)
图形处理器的利用(Use of GPU)
结论
HTML5 是一项新技术,很多人会想要尝试它,而Flash 业已存在很久,并且还将会有很长的生命周期。HTML5 短期内无法完全替代 Flash,而 Flash 可以作为 HTML5 的一个很好的补充。
文章来自: 闪客居(www.flashas.net) 详文参考:http://www.flashas.net/yejiexinwen/20100802/5895.html