什么是flash什么是html5?

2023-06-02 0 242

现如今,HTML5 虽说如大地回春通常,受很多业界巨擘的追捧。虽说Google、苹果公司等业界巨擘把它描写为互联网新体验的今后,即使是以不顺从国际标准闻名的Google,也向它屡屡献媚, 决意在 Internet Explorer 9 中重新加入对 HTML5 的大批全力支持。不过,HTML5的旅途吗将一蹴而就么?责任撰稿将列出了许多在HTML5产业发展和普及化操作过程中须要化解的难题。

   甚么是HTML5?

依照维基上的说明,HTML5 的创建者是 Web Applications 1.0,由 WHATWG 于2004年明确提出。2007年,它被 W3C 采纳,并于2008年1月22日正式发布首份正式宣布提案。

下列Lezoux维基的文本如是说了 HTML5 的特征和与 HTML4 的差异:

新应用领域开发工具(API)

即刻三维图形

间歇新闻媒体播映

存储

app

撰稿

分页

通信/互联网

退后按键管理工作

MIME 和协定执行程序时字段注册登记

   与 HTML 4 的不同点

新的解析顺序

新的元素:section, video, progress, nav, meter, time, aside, canvas

input 元素的新属性:日期和时间,email, url

新的通用属性:ping, charset, async

全域属性:id, tabindex, repeat

移除元素:center, font, u, strike, s, frameset, frame, applet

战胜 Flash, HTML5 还须要甚么?

   决定胜负的因素很多,在此分为两部分分析。

   一、技术方面

HTML5 与 Flash 在功能上并不是完全重叠的,比如对于摄像头等计算机硬件的调用,仍然只能使用 Flash 或其他方法实现。但是 HTML5 却引入了许多让 Flash 不得不认真对待的元素。其中最为人所知的和最重要的即为 canvas 和 video 标签。在我看来,其他的新属性跟 Flash 的竞争关系很弱,只有此二者是真真正正要抢 Flash 的饭碗,而且一旦普及化,将深刻的改变整个互联网,虽说是 HTML5 的左膀右臂。

   canvas

在 Flash 流行之前,曾经出现过很多种在网页中实现图形功能的方法,其中包括著名的Java Applet 。这些方法各有千秋,相互竞争不休。但是在 Macromedia 公司推出 Flash 之后,这场战争很快就结束了。

为了对抗 Flash,又有很多新的技术被明确提出,其中就包括现在 Flash 的东家 Adobe 明确提出的 SVG。不过这没有能够阻止 Flash 迅速地被网民接受。基于 Flash 的动画、游戏等应用领域几乎是在一夜之间蔓延到了互联网的每个角落。

   而今,新的挑战者出现了,他就是 HTML5 的新标签 canvas。

canvas 相比 Flash 显然是有其优点的。它不依赖于外部插件、与浏览器渲染引擎紧密结合、节约资源,最重要的是极大的简化了图形和网页中其他元素的交互操作过程。

   对于 Flash 来说,是 Flash中的元素与网页中其他元素进行交互是要消耗大批时间和资源的,另外在编程上也相当不方便。

而 canvas 本身就是 HTML5 的一个元素,可以像操作普通 HTML 元素一样操作它。开发人员可以将所有的代码整齐地写在一个文件里,降低了维护与更新的难度。

   不过 canvas 也有其缺点:

其一,开发者不得不编程描写每一个点和矢量曲线,在旋转缩放时更须要和矩阵变换打交道,这会增加描写复杂图形的难度。而在 Flash 里,图形显示的 API 被封装在名为“Sprite(显示列表)”的类里,大部分图形元素都继承于此类,开发者可以使用多种工具设计图形,对图形进行旋转放缩只须要简单的调用类 的函数。

其二,动画的实现存在缺憾。canvas 虽然提供了不同于传统的通过 div 块实现动画的方法,但这种方法仍然非常繁琐。开发者必须在每一帧动画显示时清空画布,然后重画所有元素,这必然导致包含大批元素的场景动画缓慢,只移动少 量元素就要重画整个画布会浪费大批资源。而且创建动画也是一件十分繁琐的事情。相比起来,Flash的实现就方便多了,虽然从最底层来说,动画时仍然须要 重画整个画布,但其被交予 Flash Player 自动处理,无需开发者手动管理工作。基于字节码的 Flash 在解析的操作过程中将会比即刻编译的 HTML5 和 JavaScript 快速。通常来说,复杂动画将会更流畅。另外,良好封装的图形类和强大的设计工具使得动画的创建非常方便。

其三,没有提供一套方便的事件体系。开发者也许须要通过捕获鼠标在 canvas 中点击的坐标,判断用户到底点击了甚么图形元素。在这个操作过程中可能要遍历所有的显示元素并判定点是否在图形内,实现起来比较繁琐,更不要说实现事件的冒泡 和递归模型了。虽然今后出现的图形库可以化解这个难题,但这实质上相当于使用 JavaScript 构建了一套事件响应模型,其效率显然不如内建于浏览器的原生事件模型高。在 Flash 中,事件也被良好封装为类,捕获点击等事件自然不在话下,更重要的是提供了判断两个图形是否有交集的事件和函数,这在游戏编程中非常方便。另 外,Flash 的最新版本将会全力支持多点触摸事件的响应,而 HTML 想要全力支持这点恐怕要等到 HTML6 了。

由以上分析我们可以看出,HTML5 须要的几个非常重要的东西:一个强大易用的图形库、硬件加速的图形解析和重绘、一个强大的编 机器(IDE)

   目前已经出现了基于 canvas 实现的游戏引擎。但是从效果上看仍然无法与 Flash 媲美。

WebGL 的明确提出让我们看到了硬件加速的希望,这将极大的改进图形显示的速度。但是目前它只被少数开发版本的浏览器全力支持。

IDE 方面,讽刺的是恰恰是 Adobe 为 Adobe Flash CS5 添加了一个将 Flash 转化为 canvas 的功能。在 JavaScript 方面,鉴于其为非强制类型的编程语言,对其进行代码提示等非常困难,提高编程效率较难。

如果以上三个难题不能被良好化解,将会限制 canvas 所能实现的效果的丰富度,增加开发的复杂度,从而最终阻碍其普及化。

   图为一个用 canvas 实现的图形应用领域

   video

video 标签可能是 Adobe 最反对的东西了,它极有可能打破 Flash 在在线视频领域的垄断地位。

但目前的情况是作为 video 内容的视频存在编码难题,Apple 和Google所全力支持的 不是开放国际标准,浏览器厂商必须为其付费。因此,作为三大浏览器之一的火狐浏览器拒绝全力支持此编码格式。Google虽然也收购了一套优质的编码技术,但是目前没有迹 象表明Google会开放这个技术国际标准。

依照最近的统计,虽然 Google Chrome 浏览器和 Apple Safari 浏览器增长很快,但浏览器市场还是主要被火狐和 IE 所统治。如果火狐坚持不全力支持 编码格式,video 标签的推广将会十分困难。

   所以,HTML5 须要一个既开放又优质的视频编码国际标准

   图为 video 标签 的演示

   二、商业方面

   团结

要让Google、Google、苹果公司这三个在很多方面存在竞争关系的业界巨擘团结一心地全力支持同一套国际标准是很困难的。

苹果公司方面对 Flash 痛下杀手,Google方面则极少参与这场论战。至于Google则在全力支持 HTML5 的同时在 Android 中重新加入了 Flash 全力支持,甚至存在将 Flash 纳入 Chorme 安全沙箱的计划。在这种情况下,如果 Adobe 能够良好利用三大巨擘之间的分歧并加以运作,HTML5 的前景堪忧。

即使 Adobe 没有那样的智慧与能力挑拨三大巨擘之间的关系,三大巨擘自己就可能葬送 HTML5 的今后。前车之鉴就是大名鼎鼎的 OpenGL。这一国际标准成立之初的联盟成员几乎可以用豪华来形容,结果因为各个成员之间为了自己的利益相互争吵,使得OpenGL的产业发展速度远不及 Direct3D,直至到目前这样游戏市场几乎被竞争对手占据、应用领域范围局限在专业领域的情况。

   用户的接受

无论各大厂商如何宣传,用户的接受才是最后的检验国际标准。目前来看 HTML5 在普通桌面领域可能的作为不大,与 Flash 的关系必然是长期并存。原因在于用户并不在意页面到底使用的是甚么技术,而更关心最后的效果怎么样。HTML5 的 canvas 若要达到 Flash 实现的相同效果所须要的难度更大,这样限制了中小网站在网页里使用 canvas 的积极性,如果 canvas 不能普及化,就相当于 HTML5 断了一条腿,而 video 标签的编码难题再得不到化解,HTML5 吗就没办法和 Flash 竞争了。

   大胆的预测

   在最后,我将对 HTML5 和 Flash 的这场世纪之战做出我自己的预测。

   首先用一个比喻描述目前的情况:

Google、Google、苹果公司、Adobe 四家围在一起打牌,其中 Adobe 是庄家,手中的牌最多最好。苹果公司、Google都很想把 Adobe 从庄家的位置上拖下来,但是又不愿意合作。Google与 Adobe 关系暧昧,但是也有自己的打算。

在这场牌局中,Adobe 几乎是立于不败之地的,从目前来看 Flash 被 HTML5 完全取代的可能不大,原因在于Flash 已经占领了绝大部分传统桌面终端的市场,其地位几乎无法撼动,即使 Flash 做得不够好,但是只要没到很不好的地步,还是无法被超越。虽然传统桌面收到了新兴的移动终端的挑战,但是这一操作过程将产业发展得比 Flash 和 HTML5 之间的竞争更缓慢。Adobe 控制着 Photoshop、Dreamweaver 和 Fireworks 等知名软件,制作网页即使可以缺少 Flash 却无法缺少    Photoshop,即使是编制全 HTML5 的网页,Dreamweaver 依然是首选的网页制作利器,制作 canvas 也可以使用 Flash CS5 新重新加入的生成 canvas 的功能。

   图为 Adobe Flash CS5

广受诟病的 Flash Player 并不能给 Adobe 带来于 canvas 的交互页面,那么又何必须要 Flash Player 的存在呢?Adobe 更是省下了维护一个复杂系统的费用。

至于Google,他内心是非常纠结的,他手里有 Internet Explorer 这张不知道是好是坏的牌,原因在于由 Internet Explorer 6 占领的浏览器市场份额仍然没有被有效释放,新版本的 Internet Explorer 不得不跟自己的前辈竞争。另外,Google也急于推广自己的 SliverLight ,这一产品与 Flash 和 HTML5 都是竞争关系。全力支持 HTML5 或多或少会对 SliverLight 的推广有所打击。所以Google必然不会全力全力支持 HTML5,而是只将它作为 SliverLight 的补充。

苹果公司的算盘打得很响,他要从移动终端领域着手,逐步渗透到桌面领域。iPhone 是第一步,也是相当成功的一步,它的存在说明智能手机领域并不须要 Flash 的存在,事实上,Flash 在这一领域表现的确很差。但是真正关键的是 iPad。iPad无论是屏幕大小还是操作新体验都更接近与普通桌面电脑,如果平板电脑被证明不须要 Flash 的存在,那么桌面电脑为甚么不可以?如果大批用户通过使用平板电脑而习惯了没有 Flash 的互联网新体验,那么 Flash 就吗没有今后了。iPad发售之后 Adobe 与苹果公司之间争论的升级,从侧面证实苹果公司和 Adobe 都看到了平板电脑将在这场战争中发挥的作用。

但是苹果公司吗能如愿以偿么?苹果公司的产品即使销售很好,也不可能做到像Google的产品这样普及化。原因在于苹果公司的产品文化就在于提供高质量和高品位的新体验, 而这种新体验伴随着高价。必然只有少数人能够用得起苹果公司,必然只有使用苹果公司是能够成为一种身份和品味的象征,苹果公司的产品才会有这么大的吸引力。难道除了苹果公司 就没有其他厂商可以提供同样的技术了么?难道Google不能像苹果公司一样以用户新体验为先么?显然不是,重要的原因在于Google所要提供的是一个给所有人使用的产品,这 一产品要有广泛性,要有继承性,而且不能太昂贵。所以Google在用户新体验方面改变的动力不足,Google试图在 Visita 里极大的改变用户新体验的方式,原来使用 XP 非常熟练的用户到了 Visita 里就变得不知所措了。结果显而易见。

   事实上,苹果公司从一开始就不打算让所有人都用上苹果公司,只要有少部分人愿意掏钱购买,它就能赚足够的钱。

到了平板电脑这里也是一样,iPad 不可能独自积累到足够大的用户群,以至于可以挑战传统桌面终端。更具性价比的其他厂商的产品将会让更多人享受平板电脑。而且这些平板电脑很可能会全力支持 Flash。这样的话,利用新兴终端,改变用户对 Flash 的依赖的计划就会失败。

Google方面,这场战争的胜负对Google的影响都不大,只要能把用户留在页面上,它并不在意到底使用的是 HTML5 还是 Flash。不过他却最终胜负有着非同寻常的影响力。Google除了 YouTube 之外,很少在自己的产品中使用 Flash。也许Google认为一个开放的国际标准更容易控制。对于 Flash 这样封闭的产品,虽然好用,但是Google很难对其产业发展方向有发言权。而今,Chrome 浏览器的迅猛产业发展日益增加了Google在 HTML 新国际标准中的发言权。但是这并不意味着Google会完全抛弃 Flash。

Flash 可以作为Google牵制苹果公司的重要工具,作为 Android 挑战 iPhone 的筹码。Google正筹划将 Flash 纳入 Chrome OS 的安全沙箱。如果成功,Flash 饱受诟病的耗电难题、安全难题都能得到较好的化解。

由此得到结论,Flash 气数未尽,仍将长期统治互联网富新闻媒体领域的市场。在移动领域的产业发展将取决于Google的态度,但可以预见的是将会有很多困难。

至于 HTML5,预计在1-3年内会达到相对普及化的程度,但是不会取代 Flash。他们之间甚至是可以和谐相处,取长补短的。不过不要对 HTML5 的产业发展速度抱有太大希望,毕竟业界巨擘之间矛盾重重,现有国际标准能够被各大浏览器无差异全力支持就已经相当困难了,想要重新加入任何新功能都要很久才会被广泛全力支持。 这样缓慢的产业发展速度如何能够体现出强大的竞争力,我们拭目以待。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务