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 相关文章推荐
表单button的outline在firefox浏览器下的问题
Dec 24 HTML / CSS
CSS3制作文字半透明倒影效果的两种实现方式
Aug 08 HTML / CSS
CSS3的resize属性使用初探
Sep 27 HTML / CSS
CSS3实现各种图形的示例代码
Oct 19 HTML / CSS
HTML5表格_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5 progress和meter控件_动力节点Java学院整理
Jul 06 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
Jun 25 HTML / CSS
自定义html标记替换html5新增元素
Oct 17 HTML / CSS
关于HTML5的安全问题开发人员需要牢记的
Jun 21 HTML / CSS
html5 的a标签 Href 拨电话的写法
Nov 04 HTML / CSS
详解flex:1什么意思
Jul 23 HTML / CSS
使用CSS实现按钮边缘跑马灯动画
May 07 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
杏林同学录(六)
2006/10/09 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP微信API接口类
2016/08/22 PHP
web 页面分页打印的实现
2009/06/22 Javascript
jquery下操作HTML控件的实现代码
2010/01/12 Javascript
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
2017/02/19 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
九年级历史教学反思
2014/01/27 职场文书
计算机求职信
2014/07/02 职场文书
春季运动会开幕词
2015/01/28 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
婚宴领导致辞
2015/07/28 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
用JS实现飞机大战小游戏
2021/06/09 Javascript