文章来源

二者之间的竞争会演变成为一场“战争”吗?(现在甚至出现了可以把Flash转成Javascript/HTML5的工具)

首先需要弄清楚二者之间最主要的区别,HTML 是一种语言(超文本标记语言 – HyperText Markup Language),而 Flash 是 Adobe(其收购了Macromedia)公司的一个浏览器插件(Plugin)。HTML5 目前还是 W3.org 规范中一个草案,这意味着其还没有最终定案,希望到 2012 年这项工作能够完成。

以下是二者各自的一些特点:

目录

HTML5Flash结论HTML5 相关的一些链接

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 的一个很好的补充。

HTML5 相关的一些链接

HTML5 Browser Compatibility Test
HTML5 by Apple
HTML5 Demos
HTML5 Rocks
HTML5 Watch, not necessarily HMTL5 but interesting applies of JS like the Google Pacman
Chrome Experiments
Learn HTML5: 10 must read lessons

转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)