HTML5是否真的可以取代Flash


Posted in HTML / CSS onFebruary 10, 2010

Adobe CTO Kevin Lynch

北京时间2月6日消息,网络开发者之间正在进行一项攸关网络未来的激烈辩论:是否该继续使用Adobe Flash,或改用更新的技术?

这项争论已持续多年,但上周苹果公司发表的iPad(和iPhone一样)不支持Flash,再次炒热这个话题。在那之前,Adobe曾低姿态地表示,只要苹果点头,他们非常乐意为iPhone提供Flash。

但Adobe技术官Kevin Lynch似乎不想再讲客套话,他在2日的一篇部落格写道,苹果不愿在其“神奇的装置”上纳入Flash,代表iPad使用者只能看到残缺的网页。他甚至拿出Google Nexus One来比较。

Lynch表示:“我们即将完成适用某家公司之外,其它所有大型智能手机厂牌的Flash Player 10.1。”他特别提到其中包括Nexus One,而该软件也能在平板装置、小笔记本和网络电视执行。他说:“Flash搭配浏览器,为这些装置提供了一项竞争优势,因为他们的顾客将可浏览整个网络……我们已准备好为这些装置的浏览器加上Flash,只要苹果愿意,但目前为止,我们仍未收到苹果的要求。”

根据Adobe的统计,Flash在个人计算机上确实达到几乎无所不在的普及度,渗透率在98%以上。该技术的根源是动画图像,但其成功的关键,是在微软、苹果和Real等难用的技术之外,提供一种简易的网站串流影音机制。但若干新技术,包括脱胎换骨的HTML标准,都锁定Flash所提供的影音体验。

Opera Software的网络标准支持者Bruce Lawson相信,HTML和其它技术势将取代Flash,而这些新技术的功能,已经非常接近现用的Flash。

Lawson说:“对商业、通讯和整个社会而言,网络(包括影音、游戏、动画)是太重要的一个平台,不能被任何单一企业掌控。但那还需要一段时间;现在有数量庞大的内容使用Flash。”

但问题不只是网络上既存的Flash内容数量。HTML5和其相关技术正迅速成熟,且因为它们是与浏览器支持同步演进,即使仍不完整,已形成无法忽视的存在和力量。但许多开发者仍采观望态度,宁愿等到情势更明朗再采取行动。

开放网络联盟

经过多年的混乱,苹果、Opera、Mozilla和Google等浏览器制造商,终于就HTML标准的新方向达成共识。其中最引人注意的HTML5标准,就是内建声音和影音支持。

此外还有其它的新面向,如储存数据在计算机内供应用程序取用,定期为浏览器更新数据的Web Sockets,让网络程序一次执行多项工作的Web Workers,和改善2D图像的Canvas。

同时,这些盟友也在“开放网络”的旗帜下,推动其它新标准,如3D图像加速技术WebGL、透过CSS(层叠样式表)与网络字型改善网页排版、加强其它部分的支持,如SVG(可缩放向量图形),和提升以JavaScript制作网络程序的效能。

就连过去10年袖手旁观浏览器开发进展,并推出Silverlight与Flash竞争的微软都开始投入。该公司承诺将接纳更多网络标准,近几个月更实际投入HTML和SVG开发。IE团队资深企划经理Patrick Dengler,1日针对微软参与的SVG开发工作表示:“我们收到出乎意料的正面响应。”

Adobe的专有Flash软件,除了在原则上与“开放网络”冲突,还有一项实质的缺点:当机。Mozilla急着为Firefox推出新的“Lorentz”版,以便隔绝外挂程序造成浏览器当机,主要原因就是Flash之故。

Flash的优势

但现在就断定Flash必亡还太早。开放网络联盟的运作仍旧混乱、零散和不稳定,其各个要素的浏览器支持也不一致甚至不存在。Flash是目前最一致的浏览器附加软件,而不同于浏览器版本的更新,使用者升级新版Flash的速度相对较快。

正式的标准化过程缓慢。担任HTML5编辑,同时受聘于Google的Ian Hickson,去年10月才为网络超文本应用程序技术工作小组(WHATWG)的HTML5工作作结。但该小组是与更官僚的W3C(全球信息网协会)合作完成这项标准。

HTML5影音标准诞生的困难,显示出它取代Flash的难度。Flash影片能在影片从服务器传送到使用者计算机时,利用各种"codec"影音编/译码器。使用者只需单纯按下播放键。

但目前HTML5只接受两种codec:苹果Safari和Google Chrome支援的H.264,及Firefox、Chrome和Opera支援的Ogg Theora。最多人用的浏览器IE,目前不支持任何HTML5影音。

串流影音网站该怎么作?如果某个网站支持HTML5影音(YouTube正在试验),最好还是保留Flash支持,以服务许多现用浏览器尚未支持HTML5的使用者。

此外,开放网络联盟或许即将赶上现有的Flash技术,但Flash并非停滞不前。Lynch去年即誓言,要让Flash继续扮演探索网络的最佳工具。

最后,开放网络的程序制作工具还不成熟。其中一个原因是HTML5和相关技术尚未完工。,Lawson说:“你必须要依赖浏览器互通,过往的经验显示那并不容易,不过随着规格制订完成,情况会改善。”

保持冷静

HTML vs. Flash有可能发展成类似宗教战争的规模。自有程序语言以来,工具的优劣之争就不曾停息,而这个议题还包含部分情感因素。

许多使用Firefox的开原码粉丝,本就看不惯专有软件,他们也习惯大声说出自己的看法。另一群Flash攻击者完全是出于对那种强迫式在线广告的厌恶。现在又多了苹果iPad支持者的意见,一股强大的反Flash势力俨然成形。

Adobe的Photoshop产品管理主任John Nack说:“人们喜欢某种杀手式的情境设定:好人对抗坏人、开放对抗专有…”

的确,较明智的作法是保持客观,接受这两种技术各有优劣,短期内不会出现你死我活的结果。或许两者的差距没有表面上这么大。别忘了Adobe也有HTML工具,其AIR软件基础不只是Flash播放器,还有WebKit HTML处理引擎。Adobe在Flash投入庞大资源,但该公司对HTML的兴趣,也将随着相关技术成熟而增加。

Lynch表示:“长期而言,HTML将在某些地方排挤Flash需求,尤其是近期HTML5的发展。但我不认为这是一个取代另一个的状况,目前和可见的未来都不可能发生。”(陈智文/译)

HTML / CSS 相关文章推荐
CSS3模块的目前的状况分析
Feb 24 HTML / CSS
Css3+Js制作漂亮时钟(附源码)
Apr 24 HTML / CSS
一款纯css3实现简单的checkbox复选框和radio单选框
Nov 05 HTML / CSS
CSS3制作缩略图的详细过程
Jul 08 HTML / CSS
利用CSS3实现单选框动画特效示例代码
Sep 26 HTML / CSS
CSS3 旋转立方体问题详解
Jan 09 HTML / CSS
html+css实现自定义图片上传按钮功能
Sep 04 HTML / CSS
HTML5边玩边学(1)画布实现方法
Sep 21 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
Mar 22 HTML / CSS
canvas之自定义头像功能实现代码示例
Sep 29 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
Jan 22 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
Feb 24 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
Jan 26 #HTML / CSS
让IE支持HTML5的方法
Dec 11 #HTML / CSS
IE支持HTML5的解决方法
Oct 20 #HTML / CSS
HTML5 Canvas概述
Aug 26 #HTML / CSS
HTML5 canvas 基本语法
Aug 26 #HTML / CSS
HTML5 File API改善网页上传功能
Aug 19 #HTML / CSS
HTML5 解析规则分析
Aug 14 #HTML / CSS
You might like
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
js文字滚动停顿效果代码
2008/06/28 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
js实现筛选功能
2020/11/24 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
Python中的闭包总结
2014/09/18 Python
python实现一次创建多级目录的方法
2015/05/15 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
Windows下安装Scrapy
2018/10/17 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
如何基于Python按行合并两个txt
2020/11/03 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
世界顶级户外运动品牌折扣网站:LeftLane Sports
2019/06/12 全球购物
项目开发计划书
2014/01/09 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
镇创先争优活动总结
2014/08/28 职场文书
羊脂球读书笔记
2015/06/30 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
导游词之桂林
2019/08/20 职场文书