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 相关文章推荐
10个很棒的 CSS3 开发工具 推荐
May 16 HTML / CSS
纯CSS3实现的阴影效果
Dec 24 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
Apr 26 HTML / CSS
CSS3常用的几种颜色渐变模式总结
Nov 18 HTML / CSS
CSS3 仿微信聊天小气泡实例代码
Apr 05 HTML / CSS
css3中less实现文字长阴影(long shadow)
Apr 24 HTML / CSS
CSS3新增布局之: flex详解
Jun 18 HTML / CSS
CSS3 按钮边框动画的实现
Nov 12 HTML / CSS
html5仿支付宝密码框的实现代码
Sep 06 HTML / CSS
详解rem 适配布局
Oct 31 HTML / CSS
html5启动原生APP总结
Jul 03 HTML / CSS
h5页面背景图很长要有滚动条滑动效果的实现
Jan 27 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 中文处理函数集合
2008/08/27 PHP
PHP 文件类型判断代码
2009/03/13 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
php实现简易计算器
2020/08/28 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
详解python statistics模块及函数用法
2019/10/27 Python
Python读取实时数据流示例
2019/12/02 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
出纳会计岗位职责
2014/03/12 职场文书
搞笑老公保证书
2015/02/26 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
全新239军机修复记
2022/04/05 无线电