Flash终于走向死亡!其兴衰之路你知多少
作为最大名鼎鼎的网络多媒体技术之一,Flash的名号可谓是无人不知无人不晓。然而,触手曾伸及形形色色网站的Flash,现在终于要退出历史的舞台。Adobe已经宣布,Flash将会在2020年停止开发和更新,这意味着Flash已经彻底走向淘汰。盛极一时的Flash,是如何被人抛弃的?明明是Flash先来的,玩小游戏也好,看视频也好,实现各种复杂的交互也好,但为什么Flash会被HTML5取而代之?今天,就一起来谈谈关于Flash的话题吧。
▲Flash将在2020年被彻底淘汰
Flash:曾是互联网世界的超级英雄
Flash在今天给人的印象是臃肿而又低效的,但在Flash刚刚诞生的时候,却被视作是互联网世界的超级英雄。Flash诞生自1996年,当时的Flash可是网络上冉冉升起的超新星——小巧、高效、跨平台,无论是开发者还是用户,看到Flash都会笑逐颜开。
在上世纪末本世纪初,互联网的世界是单调的。别看现在的网页和浏览器干啥都行,但在Web1.0的年代,HTML平台能做的事情极其有限——网页多只是简陋的文字排版,图片往往是马赛克级别的分辨率,能动起来的GIF图片,动不动数M的体积,对于当时流行的拨号上网来说,可谓是一图杀猫的存在。此情此景下,Flash俨然成为了令人啧啧称奇的魔法。
Flash缔造过很多经典小游戏,例如火柴人
单调的网页一旦使用了Flash,面貌往往会焕然一新。Flash能够用仅仅十几K到几百K的体积,呈现出放大也不会失真的矢量彩色动图,甚至还能够做出足以令人沉迷一整天的Flash小游戏。Flash一度成为了互联网中最耀目的多媒体技术,是否使用了Flash,甚至成为了人们来衡量一个网站先进与否的标准。
Flash的大展拳脚,离不开它的准确定位——HTML平台不行,那Flash自己就来做平台。Flash用插件的身份,干着平台才需要负担的繁重工作。在Adobe丰盈的奶水的滋润下,Flash茁壮成长。Flash先后加入了对Javascrip、HTML、XML的支持,新增了滤镜和层的模式,加持了Actionscript语言,并增强了影音方面的功能一举把RM/RMVB赶到了线下。加上Flash跨平台的特性,极其容易移植,因此Flash很快就在互联网上打出了一片天地。
Flash的支持一度相当广泛
Flash最为鼎盛的时候,市面上稍微高端点的设备,支持Flash被视作是理所当然的事情。看看那些即便乖乖给Adobe授权费也要抱住Flash大腿的设备吧——黑莓、PS3、PSP、Wii、PocketPC、Windows Mobile、塞班……哪个不是一方英雄,哪个不是一时豪杰?但是,这些大佬们也不得不对Flash敬重三分。不过,终于还是出现了对Flash说“不”的人——苹果。
Flash为何走向淘汰?
随着iPhone的流行,Flash在移动市场迅速衰退。2007年出现的iPhone一开始就不支持Flash,当时正值Flash的顶峰。很多人起初对苹果这一决定嗤之以鼻,但最后发觉原来增加续航的最好方法不是增大电池,而是抛弃Flash。于是,Android也在2012年宣布不再支持Flash,Flash在移动市场不再有立足之地。
Flash在移动平台的衰败最后波及到了桌面市场。Chrome从去年的Chrome 42开始,就已经强制把Flash装入沙箱,以PPAPI的形式运行;在今年推出的Chrome 55中,更是默认禁止Flash运行。Chrome的前辈Firefox更加激进,去年就已经默认禁止Flash运行了。微软的Edge浏览器是对Flash支持得比较好的,但也宣布将会在Win10 RS2新版中默认禁止Flash。1996年诞生的Flash用了10年攀上顶峰,然后走了10年下坡路;3年后的2020年,Flash将会走到生命的终点。
很多浏览器都已经默认禁用Flash,或者是旧版Flash
上文提到,Flash以插件的身份,做着平台该做的事情,功能非常强大。为何如此强大、如此流行的Flash会走向衰落?原因大致如下。
首先,Flash效率变低了。随着功能的增多,Flash的效率明显变低。现在的Flash,能解码编码H.264,能进行3D渲染,能播放7.1声道环绕声,能支持游戏手柄……林林总总的功能集于一身,加上易于开发,粗劣低效的Flash不断在网络泛滥。
Flash已经变得太过臃肿低效
Flash的功能越来越强大,开发人员使用Flash开发的产品也愈发繁多庞杂,Flash开始被用来干一些奇怪的事情,比如说卖卖小广告啦,玩玩小游戏啦——这些应用多是粗制滥造,很难想象有人会为Flash广告优化代码,是吧。人们慢慢发现,当低劣的Flash充斥着网页的时候,电脑开始不堪重负了,Flash落下了一个烤肉机驱动程序的称号。
毫无疑问,贴满了低效Flash的页面是非常不适合移动互联网的,没有什么设备的电量能经受住Flash的拷问,这令Flash迅速被移动平台所摒弃。自然而然,Flash也就淡出了这个移动为王的时代。
其次,Flash非常不安全。Flash以一个插件的身份,干着平台干的事情,所导致的后果就是承受了平台级别的风险。君不见多少个0Day漏洞自Flash而出,例如在2015年,安全机构NTT Group公布的十大最危险的漏洞就全部出自Flash。Flash能够运行相当复杂的代码,这让Flash非常容易被渗透。加上Adobe在安全方面的不上心,这令Flash安全问题频发。
这是NTT Group在2015年公布的各大软件漏洞情况,可见Flash一览众山小
Flash支持多个平台,这令它带来的安全问题影响更加严重。一旦Flash出现安全问题,N种浏览器、操作系统都有可能被攻陷。在移动互联网时代,设备承担了越来越多的隐私数据,没人希望隐私从满是漏洞的Flash中泄漏出去。因此,Flash遭到了冷落。
再者,Flash很不稳定。作为一个插件,它自身频频崩溃也就罢了,还经常拉着浏览器乃至操作系统一起殉情。光是播放视频,Flash就能给你弄出蓝屏事件,往往不得不关闭Flash的硬件加速提升稳定性。
最后,Flash已经有了替代品——HTML5。Flash之所以得以流行,是因为当时的网页实现不了什么功能,需要Flash这样的插件充当救火队员。现在,HTML5已经基本上能包办Flash所有能干的事情了。无论是视频播放,还是小游戏,使用HTML5都可以轻松实现。同时,HTML5对比Flash的效率更高,安全性更好,不需要另外安装插件也可以在各大平台运行,对不同设备的支持要比Flash更加友好。
连Flash的亲爸爸Adobe都力顶HTML5,在Animate CC中加入HTML5支持了
另外,作为一款商业软件,Flash并不符合互联网的开放精神,起码就不如大家一起来运营的HTML5来得符合。在之前,HTML5标准的制定一片混乱,WHATWG和W3C为了争夺HTML5标准的话语权,内斗不已。现在一切尘埃落定,HTML5标准已经出炉,业界再也没有什么理由观望而不跟进。甚至Adobe也宣布,Flash的开发工具Flash Builder更名为Adobe Animate CC,加入对HTML5的支持。爸爸都不爱你了,Flash还是乖乖睡进历史书吧。
总结
简而言之,Flash的兴起和衰落,不仅仅是因为本身的堕落,还要考虑历史的进程。历史的进程已经钦点了HTML5做接班人,你问我支不支持HTML5?反正业界都支持,微软、苹果、Google乃至Adobe都在力推HTML5。Flash被彻底淘汰的2020年并不远,但目前国内仍有不少视频站使用Flash,希望国内视频站能尽快转用HTML5,给用户带来更好的体验吧。