作者ybite (小犬)
看板Flash
标题Re: [闲聊] Is flash dead?
时间Sat Feb 6 02:13:12 2010
正当我想回应这篇文章的时候,ZDNet 台湾翻译了一篇好文章
是 Adobe、Opera 等方面对於 HTML5 vs Flash 的一些看法
跟我的想法某种程度上有点接近,很有参考价值
HTML vs. Flash:地盘大战在即?
http://www.zdnet.com.tw/news/software/0,2000085678,20144150,00.htm
---
然後,我想用比较技术一点点的角度
去比较看看 Flash 和其他的 Open Web Standard 之间目前的「竞争」关系
也试着把每一种技术的优缺点都作一个简单的评定
Fx = Firefox; GC = Google Chrome; JS = JavaScript
2D绘图与应用:广告、Flash 动画、全板网页
这一块是 Flash 的不败之地,我觉得五年内都很难看到下一个足以取代的应用。
谈 Flash 的 2D 绘图又可以分为两大支:向量的部份和点阵的部分,而这些东西早在
Flash 4 的时候就可说是大致底定,一路沿袭至今:包含了影格的时间轴概念、丰富的
向量工具、物件的转场效果、点阵图支援、单独的MovieClip物件、ActionScript的
Scripting支援、还有更重要的,一个方便至极的UI来完成以上的所有工作。
Open Standard 在这一块上面显得有点无法竞争。
在点阵方面,HTML5 提供了 <canvas> 可以用作 2D 和 3D 的点阵绘图(3D 的部份请容我
之後再讲),在 2D 方面已经有了画线、填满、填图等等的项目被定义在目前的标准草案
之中,且 Fx/GC/Opera 都已经有了一定程度的支援。(这算是回上一篇推文,对,HTML5
有点阵绘图)您可以使用 JavaScript 透过 DOM 去进行对 <canvas> 的绘制。
在向量方面,HTML5 没有相关的东西,但是 W3C 有另一个标准叫 SVG,是以 Markup
Language 来表达向量图形。然而 SVG 目前的应用都偏在静态向量图片,尽管已经开始有
搭配 JavaScript 作 Scripting、搭配 SMIL 作影格的方案慢慢浮出,但目前为止都不成
熟。
而更大的重点是这些技术都在开发中,光成熟就要等很久,更别提一个好的开发环境。
这一块应用大部分的使用者都要求一个快速、方便、稳定的开发环境,您不会为了想做
一个广告而浪费数十个小时在浏览器的差异或不明的错误之间 Debug 吧 :P
全板网页是另外一个有趣的问题。以网页而言我觉得在搭配 CSS3 的转场和一些
JavaScript 的辅助效果之後,绝大部分全板 Flash 网页的技术都会有解决方案。
至於 CSS3 目前的采用程度嘛...(摇头
3D相关、Flash Game
提到3D的话,我觉得两边都有太长的路要走。
虽然在 Flash 已经有了成千上万的 3D 模拟函式库,但硬体支援的缺乏应该不是短期之
内就能解决的问题,复杂的 3D 极耗费系统资源的状况应该也会维持一段时间。
HTML5 虽然有 3D 的 <canvas>,但也是在极草创的阶段。目前 Mozilla 方面力推 WebGL
作为 3D 的 Canvas 标准。WebGL 的作法是将 OpenGL ES 2.0 API 开放给 JavaScript
运用,藉而达到透过 OpenGL 的硬体加速。
而 Google 则自己另外有在推 O3D,以 JS + 可支援 OpenGL 或 DirectX 的内层 3D 引擎
在使用上将 3D 引擎作为 Plugin 执行,是另一个 3D 网页应用的可行方案。值得一提的
是 O3D 的模式可能比较容易提供既有 3D 软体内容的转换?(不确定
参考:
http://sapessi.com/2009/10/webgl-and-o3d/
Flash Game 通常都包含复杂 2D + 3D 运算和复杂的 Scripting、游戏记录。而 3D 可能
是目前最大的一个可取代点。揪~竟~ Flash + ActionScript 会不会在这一块上面,
继续将 WebGL + JavaScript / O3D + JavaScript 压着打呢?拭目以待。
「所谓的」RIA
之所以说所谓的是因为我一直都认为 RIA 是个 Buzzword(被打
其实我想讨论的是互动、多媒体影音、类似桌面程式介面相关的网页应用
Flash 阵营在这一块也培养了非常非常久,有一个完善的 Flex Framework,可以透过
MXML 撰写介面和用 ActionScript 撰写程式部分,将其作为 Web Application(透过
Flash Plugin 执行)或着桌面程式(Adobe AIR)来执行。而就算不论 Flex(也不论到
了 4.0 Beta 以後产生出来的 SWF 已经 390KB 起跳了 =口=),Flash 本身也几乎提供
了大部分 RIA 所需的元素,像 NetStream(影片、串流、Webcam,好例子是 YouTube)、
Local Shared Object(本机储存区)、FileReference(多档上传,如SWFUpload)等等
。
然而 HTML5 以前叫做 Web Applications 1.0:摆明了就是要攻 RIA。所以 RIA 应该要
有的东西 HTML5 正在慢慢一次到位:<video> 和 <audio> 的影音播放、localStorage
的本机储存区、可追踪上传进度和多档上传的 File API 都已经有浏览器支援。
甚至连 Webcam,也已经有草案说未来可以用 <device> 来操控了。
HTML5 在这块上的危机是浏览器支援的成果。Ogg Theora 和 H264 AVC 的影音格式大战
至今悬而未决便是冰山一角。YouTube和Dailymotion都已经开始实验基於<video>的播放
介面,唯一边是 H264 AVC(GC / Safari 支援),一边是 Ogg Theora 格式(GC/ Fx
支援)。Google 似乎不太喜欢 Theora,但其买下 On2 之後会做什麽值得关注。
结语
我的观点是 Flash 在至少五年内都仍然会维持主流地位,然而後起之秀值得关注。
Flash 很棒,而且是超级棒,是一整个完整的 Solution,无论是做 Flash 动画、
3D 游戏、RIA 都有极方便方案。至少就方便性来讲短期内难以取代。
而 HTML5、JS、CSS、SVG 异军突起,带着制定 Open Standard 来推翻邪恶 Adobe(误)
的理念,开始一步一步尝试各种新奇的可能性。但是距离开花结果还有很长的距离。
在这段时期最重要的我觉得是「Learn」。就连 Flash 自己也在日新月异,所以这是一个
需要不断学习新网页技术的时期。要怪就怪 2004 年火狐吹皱一池春水吧!(大误
(本文作者为嘴炮网页设计师,在这一波中算是 HTML5 派。由於写某个套件的原因花了
很多时间在学习 Flex + AS3 上。Flash 使用次数趋近於零。)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.67.12
※ 编辑: ybite 来自: 218.170.67.12 (02/06 03:00)
1F:→ ppcat:Silverlight:大家都忘记我了.. 02/06 20:15
4F:推 Lawnchern:XD 一楼让我想笑 02/25 12:28