欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

HTML5与Flash对比

程序员文章站 2022-05-28 13:19:52
...

最近网络上最热的话题之一就是“开放式Web技术 HTML5”,从国外媒体到国内媒体均有大量报道。从大量的报道中,如果各位从Google搜索引擎中输入“HTML5 Flash”这2个关键字组合,将会有1百多万条相关的资讯,真是犹如狂风暴雨一般,而现在的IE8,Safari 4和FF 3.5 RC都或多或少的支持了一些HTML5的功能,这就让HTML5的话题讨论更加如火如荼。我们来总结一下其中的话题,基本上是以下几个类型(请原谅我均用问号结束以下的标题,因为我会在后面谈及我的看法):

HTML5让Flash可有可无?
HTML5会为Flash和Silverlight送终么?
HTML5将一统视频插件市场,取代Flash Video?
HTML5将成为Flash杀手?
HTML5或将让Flash过气?
HTML5将严重冲击RIA领域技术?
......

本人仅罗列出以上有代表性的话题,基本可以说与HTML5和Flash这两个词相关的话题80%以上都围绕上述展开,当然有人是正方,有人是反方。对于HTML5和Flash,我希望能够表述一下我的观点,在详细表述之前,先概括一下我的观点:
观点一,我支持HTML5和Open Web技术
观点二,我不认为HTML5将取代现有的Flash,HTML5有很长的路要走

接下来,请让我从各个方面来详细阐述我的观点。
观点一,我支持HTML5与Open Web技术,并且我认为Adobe也会积极推进HTML5开放的标准化工作。Adobe公司是世界上最棒的图形图像多媒体与网络技术应用软件开发公司(原来是图形图像,收购了MM后,我加上了网络应用技术开发)之一,在过去的13年中,Flash从1.0到10.0,逐渐变成了当前互联网上最流行的RIA技术,Web交互体验,音频,视频,游戏,广告,企业Rich UI等等,都能看到Flash的身影,同样,收购了Macromedia公司之后,Adobe也有一套完全遵循和引导Web标准化页面的开发工具,那就是Dreamweaver,其中对于W3C的Web标准和CSS样式标准的支持可谓是推崇备至。我相信,HTML5在Web技术向着开放和标准化领域的进化过程中将起到至关重要的作用,而这一点,我有理由相信,在Web应用开发领域的工具上,Adobe有理由仍然去继续扮演一个支持者的角色。当然,这个支持者的角色也决不仅仅是从开放和标准化的角度出发的,从创新,客户需求和未来的发展机遇上,Adobe都不会轻易拒绝HTML5,并且实际情况就是Adobe是W3C标准和HTML5工作委员会的成员之一,并且已经参与了很多标准化的工作,比如H.264,CSS,PostScript,HTML,SVG和PDF ISO32000等等。

请各位看清楚,Adobe支持HTML5,但是不代表Adobe就会放弃对于Flash的支持,Flash作为一个发展了13年的成熟技术,面临很多挑战的同时,也面临很多机会,当HTML5真的诞生时,Flash会有相当多的机会去进化自己,改良自己,以适应技术发展和创新的潮流。我的观点就是,作为技术领域的领先公司,适时的去支持开放和标准化的技术,将是一个为这家公司带来改良现有产品,开发新应用软件,拓宽业务机遇的绝佳时机,这才是一个成熟的,优秀的公司最明智的策略。就像一个智者(或者是胜利者),总会从挑战和新事物中寻找机会,不断完善和提升自己,而不是去盲目的去抱怨,拒绝和阻碍新事物的诞生。因此,我支持HTML5和Open Web技术,我也坚信Adobe也一定会支持。

观点二,我不认为HTML5将取代Flash。HTML5加入了对于富媒体的支持,让大家的确激动了一把。但是我们静下心来,仔细来阅读下面的一段,相信能够给你带来一些思考。首先,我们来看看HTML5对于富媒体支持的这部分功能,我先大致罗列一下,并写出了Flash Player支持相同功能的年份(不一定100%正确,欢迎补充):
画布标签(2D绘图和动画),这部分Flash Player 1就已经支持,年份是1995年-1996年
视频支持,这部分Flash Player 7开始支持,年份应该是2003年
音频支持,这部分Flash Player 4开始支持,年份应该是1999年
离线存储数据库,这部分Flash Player不支持(仅支持本地Shared Object),确切应该是AIR的1.0开始支持,年份应该是2007年底
拖拽支持,这部分Flash Player 5,Action Script 1开始支持,大概是2000年-2001年间
跨文档消息通讯(协作),这部分功能Flash Player 7开始支持,年份应该是2003年
MIME类型和协议事件侦听注册,HTML独有特征,与Flash无关
新的解析规则,与浏览器解释器有关,与Flash无关
新的元素控件标签,例如进度条,导航,时间,这部分在Flash Player 4的时候,我就能做,年份是1999年,全面控件支持是通过AS2在FP7里实现
新的表单控件,比如日期,时间,邮件,链接等等,这些表单元素在AS1 Component里就已经可以实现,大概是Flash MX和Flash Player 6开始支持,年份是2002年。


关于具体2者的功能对比,请参考我的同事Ryan Stewart的总结。以上这些随着HTML5而来的富媒体元素支持功能,在不同的Flash 版本里实现和进化,经历了至少6个年头,比如FP7的Video支持,况且Flash一直是由Macromedia和Adobe公司不断驱动下的来完成的。随着HTML5在Open Web下的进化,加入了这些类型的功能,我认为Flash有绝佳的机会和时间在重复的功能上做出改进,更加强化自己在丰富媒体领域的针对性地位。现在,互联网领域最硝烟弥漫的战场之一是哪里?没错,是浏览器市场,微软,谷歌,FF,苹果,还有一众大大小小的公司的不同浏览器被卷入这场似乎无休止的战争当中,谁都想从中分一杯羹。HTML5基于Open Web的出现,目前还只是一个雏形,从W3C的进度表上,不难看到,它的交付日期初定在2012年。OK.....我很难想象在这2年多的时间内,各大浏览器厂商会基于HTML5这个开放的Web新一代标准做出何种改进和实现上的需求变化,包括他们能否统一的对于HTML5 2012年推出(如果能按时交付的话)的标准进行一致的浏览器兼容性支持,都是一个大大的问号。HTML5基于Open Web的理念是完美的,但是Open的统一是要付出昂贵的代价的,君不见现在天天都有咆哮声出现在大大小小的HTML标准化兼容的故事里?所以,我认为HTML5的交付和统一之路更加漫长(这当然是我技术出发点不愿意看到的情况),这不仅仅是技术的开放,标准和更新换代的过程,更多的包含了令人匪夷所思的商业博弈在其中。就Flash而言,由于其核心渲染引擎是由Adobe独家拥有(同SL一样,MS独家拥有),其策略思路,进化路线图对于客户和业界的需求的转变也是相当之快,至少目前Flash播放器的版本每12月到18个月就更新一次,而其播放器核心也维持在1MB左右,向下兼容也保持了一贯的一致性。我不敢也不能做出猜测,到了HTML5 2012正式版本交付时,Flash又会加入或进化成什么样子。而Adobe的思路除了要推广维护Flash的地位,也在考虑以适当的进度不断开放其Flash Platform的技术环节。先是开放SWF文件格式规范,然后开放Action Script虚拟机,然后开放Flex SDK,现在开放RTMP协议规范,进而成立开放标准Open Screen Project面向移动设备的未来FP播放器策略,乃至大量的开放的第三方开源类库,不得不说是相当有计划性和策略性。这种方式,用中国的古话是“授人与鱼,不如授之与渔”的绝佳策略,即保证了Flash技术在开发上的开放性,互操作性,又维持了Flash技术核心的安全,高效和版本更新换代的一致性。试想,如果Flash全部开源,市面上出现若干不同版本的Flash播放器,这对于Flash而言,是机会,还是灾难?基于Flash的核心安全性如何得以保证?综合上述的论证,我认为HTML5不会取代Flash,相反,两者将来反而有更好的机会互操作,互整合,为互联网用户提供更加强大的用户体验。愿望是美好的,但是HTML5的成长之路绝对不会一帆风顺。

后记补充:

目前的RIA技术主要由如下四种:

.NET SilverLight技术;

JAVA FX技术

Flash技术

HTML5技术

到底谁能够成为主流,我们得拭目以待。