曾经如日中天的Flash标准近些日子接连遇到了麻烦:一边是Adobe的Flash插件短时间内连续爆出严重安全问题,另一边全球最大的在线视频网站YouTube宣布以Html5播放器取代Flash作为网站播放视频的默认选项。不得不说,5年前苹果总裁乔布斯所预言的Flash彻底退出历史舞台的时候已经离我们不远了,未来的网络世界将是Html5的天下。
Flash标准兴起于互联网的蛮荒年代
本世纪初,全球网络建设仍处于早期阶段,发达国家网民刚刚在从窄带向宽带网络过渡。由于网络带宽、PC运算速度等因素限制,早期的网站基本以静态文字和图片内容为主。但随着宽带网络在全球范围快速普及,网民对内容的需求也不断变化。死板的文字加图片的网站难再吸引浏览者兴趣,要求网页加入视频、音频、动画等富媒体内容的呼声越来越高。
在这样的背景下Flash应运而生。早期的Flash标准只是简单的矢量动画编码标准:开发者绘制一些图形,然后在编辑器里让它们活动起来制成动态效果。不久之后Flash增加了视音频文件播放的能力,同时提供了高级程序语言的支持来实现复杂的功能。很快Flash就成为互联网事实上的多媒体内容处理标准,几乎所有网站都不同程度使用了这一技术来提供富媒体内容。
如果将网页理解为一处处房屋,那么Flash就相当于房屋中的一种房间。在这种房间里访客可以看电视(播放视频),可以玩游戏(运行Flash游戏),可以控制其他房间的设备(使用Flash按钮控制网页内容)等等。但是,所有这些设备和功能都只能在房间内使用--换句话说网站必须先加载Flash播放器才能利用它的各种能力。网页要不同位置实现Flash的功能还需要加载许多播放器,相当于在房屋内建设许多专用的房间。此外,网站访客想要在自己的设备上正确显示Flash的内容还要安装插件,相当于准备这种专用房间的钥匙。没有插件,浏览者只会看到大块大块的空白。最后,每一个房间,也就是Flash内容的尺寸一般是固定的,不会随着窗口尺寸变化而自动调整。这也就意味着大量使用Flash的网页通常只能为一种窗口尺寸优化。
在PC时代Flash的这些特性并不是太大的问题。快速增长的系统芯片性能为运行复杂网页提供了速度保证,而廉价、流量不限的宽带网络使得加载Flash播放器的流量开销显得无足轻重。数量有限的桌面分辨率不需要网页为多种浏览窗口尺寸做优化,同时Flash的浏览器插件如此普及,几乎成了所有PC的必备。在这样的背景下,Flash内容开发也成了网站前端程序员和美工的必备技能,不会用Flash几乎等同于不会做网页。恰恰Adobe还为Flash内容创建提供了易用、友好的工具,也从侧面巩固了这一标准的地位。
移动时代呼唤新标准的降临
直到智能手机和平板兴起,PC作为主要网页浏览入口的地位受到有力挑战时,Flash的诸多问题开始变得无法让人忽视。移动设备性能远不及桌面PC,且通常以电池而非交流电源为能量来源;智能手机和平板的屏幕尺寸五花八门,且用户在浏览网页时经常进行缩放旋转操作;移动平台没有占据垄断地位的浏览器,就连操作系统都有好几种;智能设备以多点触摸屏而非键鼠为主要输入手段,和PC的操作方式大相径庭。可是Flash天生的特性就决定了它不适合手机和平板:较多数量的播放器消耗的运算资源、网络流量和电池能量太多;固定尺寸的播放器框架使网页难以对不同的浏览分辨率进行自适应;为键鼠操作优化的Flash功能在触摸屏上难以使用;主流移动浏览器大都没有Flash插件支持,等等。可以说,Flash在移动设备时代从一开始就没有前途。
而Html5就是为了解决这些Flash无法解决的问题而诞生的。与后者不同,Html5是一个开放、公有的网络规范。它是过去以显示文字和静态图片内容为主的Html4语言的全新升级:新的标准可以直接在网页内嵌入视音频和较复杂的程序,而无需任何插件。前文说到Flash标准相当于在房屋内设置专用房间,然后在房间内安置电视、音响、游戏机等设备--但在Html5的时代,各种设备不需要专用房间,可以随意布置在房屋的各个角落。因为没有了播放器的约束,基于Html5编写的网页可以很容易地适应不同的浏览窗口大小。网页不用再加载复杂的Flash框架后,消耗的性能、电量和流量也大大减少。此外,Html5一开始就为触摸屏操作提供了便利,开发者可以很容易地做出适合手机平板交互的页面。抛弃Flash还为开发者带来了一个额外的好处:过去网页代码编写和Flash内容编写需要两套工具,现在Html5只需一种工具就够了。
乔布斯的预言,新时代的临近
苹果最早意识到Flash在移动互联网时代已经没有前途的事实,并毅然决定在移动设备上放弃这一标准,全力推广Html5。由于苹果的市场地位举足轻重,很快业界就开始全面跟进,大大加快了Html5取代Flash的进程。2010年苹果宣布放弃Flash两年后,Flash标准的拥有者Adobe自己也认输,不再为移动平台开发Flash插件。短短数年时间,Html5已经在移动平台获得统治地位,成为所有浏览器的默认标准。
目前,虽然Flash仍在桌面端拥有不小的市场份额,且在复杂应用实现等一些领域较Html5还有优势;但是随着移动设备占网络流量的比例不断上升,这一标准已经是时日无多了。偏偏封闭的Flash播放器和插件还屡屡出现安全漏洞,同时稳定性始终得不到根本改善,更是加快了它退出历史舞台的步伐。YouTube放弃Flash后预计大多数视频网站都会跟进,改用Html5为PC端默认播放规范。不久的将来Flash就会彻底退出互联网络,仅仅留在人们的记忆中。与此同时,智能设备取代PC成为互联网世界的主角,新的时代已经到来了。