百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

永别了,Flash

zhezhongyun 2025-02-06 17:10 17 浏览


因为 Flash,互联网得以变成今天的模样。

「设个闹钟,夜里爬起来偷菜。」

十几年前,80 后玩《开心农场》、《黄金矿工》、《森林冰火人》的痴迷劲儿就跟今天 90 后、00 后熬夜刷抖音差不多。这些游戏简单、易上手,且无一例外都是用 Flash 制作,而 4399、7K7K、2144...... 这些五花八门的 Flash 小游戏网站,也成为很多人游戏启蒙的开端。

然而从今天开始,Flash 将正式「退役」。早在 2017 年,「亲妈」Adobe 就宣布将在 2020 年 12 月 31 日停止对 Flash Player 更新,鼓励内容开发者转换为其他开放格式。

Adobe 舍弃在移动互联网时代已经变得低效和臃肿的产品,并不意外。作为曾经人们玩游戏、看视频的「默认方式」,从高光时期接近 98% 的市场占有率,到现在不足 4%,Flash 的结局不免令人唏嘘。

Flash 的发展历程很好地印证了一句话:只有始终迭代的技术,所有红极一时的产品走到时代的交叉路口,选择只有两种:要么进化,要么被更好的产品所替代。


Flash 缔造的「网页时代」

Wired UK 如此评论 Flash 对于互联网的重要意义:1996 年之前,互联网是一个静默、沉闷的地方,Flash 的出现开始让它充满声音和色彩,预示着现代互联网(modern web)的到来。

Web1.0 时代,网页多是文字排版和分辨率极低的图片,Flash 通过矢量格式的图片和动画,既解决失真问题,又将图片大小压缩到几十到几百 KB。

Flash 并非 Adobe 亲生。Flash 源起一款矢量绘图软件,万维网的出现让创始人 Jonathan Gay 意识到他们可以创建一款制作网页动画的程序(FutureSplash Animator),以及动画播放器(FutureSplash Player),以「全套网络图形工具」为卖点在 1996 年发布。

「在此之前制作动画应该是动画工作室分内之事,当时动画发行渠道也只局限在录像带。」这是 FutureSplash 所带来的突破性意义。

其实在产品面世前,公司因经营不善找到 Adobe 希望被收购。不过后者当时的重心在一款 PDF 编辑软件 Acrobat 上,用「如果人们需要动画,我们可以在 Acrobat 里添加动画功能」的理由拒绝了。

接着,FutureSplash 找到新的卖家——Macromedia,更名为如今我们熟知的 Flash。微软、迪士尼迅速发掘了这家小公司,分别将其产品应用在 MSN 门户网站,多媒体儿童内容。「1998 年,Flash 已经站稳了脚跟,对于那些想要比当时 Web 标准提供更炫酷一些的网站开发者来说,Flash 是既定的选择,越是那些将 Web 看作新媒介的创意艺术家,越欢迎 Flash。」Ars Technica 写道。


由 Flash 驱动的内容产业逐渐扩展到动画、游戏、Web 开发、在线广告等领域,并且围绕这一技术催生了无数大大小小的公司。

在 Web 视频,Flash 也发挥了巨大价值。当意识到微软等巨头的 Web 视频解决方案是复制传统电视体验,而在互联网初期远达不到时,Flash 再一次利用简单和易用的属性,很快占领了市场。2015 年之前,Flash 一直都是 YouTube 的默认播放器,国内土豆、优酷等视频播放网站也将 Flash 视为「行业标准」。

拒绝收购 Flash 的十年之后,Adobe 再也坐不住了。它以 36 亿美元收购了 Macromedia,其中 30 亿是为 Flash 开出的价码。


拐点到来前的溃败

第一个站出来反对 Flash 的是乔布斯。

2010 年,Flash 风头正盛时,乔布斯一篇「我对于 Flash 的思考」,在外界看来就如给「棺材板钉上了第一颗钉子」。他直指 Flash 封闭,坚持作为独立的第三方插件,不兼容触控屏。Flash 给用户的体验还依然停留在 PC 端,在可靠性、安全性、性能上越来越成问题。

2011 年,Adobe 宣布停止安卓版 Flash Player 的开发,这意味着 Flash 彻底折戟在移动端。

溃败并不是从乔布斯站出来的这一刻开始的。现在 Flash 能解码编码 H.264,3D 渲染,播放 7.1 声道环绕声,支持游戏手柄,逐渐变得臃肿,连乔布斯都称「Flash 是导致 Mac 经常崩溃的罪魁祸首」。加上易于开发,利用 Flash 开发的产品也愈发庞杂,粗制滥造的产品在网络泛滥。

而让巨头纷纷抛弃 Flash 的原因还是因为封闭。随着 HTML5、CSS、JavaScript 等开放的网络标准日渐成熟,苹果、微软都举双手欢迎。开发者逐渐抛弃安全漏洞多、消耗资源多的 Flash,尤其对于吃电池续航的移动端来说。

2015 年,安全机构 NTT Group 发布报告,漏洞攻击者最钟情的「目标」从 Java 转移到 Flash,后者包揽了十个最危险的安全漏洞。

这让 Chrome、Firefox 等浏览器暂停对 Flash 的支持。Chrome 的声明令人唏嘘,它写道,「2014 年,80% 的桌面 Chrome 用户每天访问至少一个含有 Flash 内容的网站,2017 年这一数字下跌到 17%,并且还在持续下跌。」

曾经神坛上的 Flash 正在一步一步跌落,Facebook 转用不需要安装插件的 HTML5 技术来播放视频和社交游戏,目前微软也确认 Windows 10 的下一次更新将自动删除 Flash。Adobe 自己更是通过弹窗提醒用户永久删除该软件。


再见 Flash,爷青结

Flash 的一个重要意义是在带宽不高的年代让人们看上动画和视频,到了中国之后,它却因为「牛皮癣」式的弹窗广告遭人唾骂和白眼。然而今天,不能以一款产品好坏的角度看待它,或多或少,Flash 都作为构建一段互联网历史的存在。

足够多的受众、低成本的开发工具、支持所有 Web 浏览器的跨平台便捷性,Flash 催生了 Flash 动画、游戏制作这一职业,在中国他们有一个非常形象的代名词——闪客。

Newgrounds(Flash 游戏门户网站)创始人 Tom Fulp 回忆道,「2007 年那时候,靠制作 Flash 游戏就可以谋生了。制作自己想要的游戏,并且养活自己,几乎是每个人的梦想,真的很有趣。」在中国也一样,在还不是遍地闪客的时候,有人靠着制作 Flash 拿到人生第一桶金。


「Flash 激活了我们现在视为当然的内容创作文化和氛围。」Wired UK 一文中写道。

无奈时间的脚步从不停歇。当 Flash 弊端愈发横生,新鲜互联网事物层出不穷,它的退场不过是顺应了技术浪潮的交替,就连原来充斥着 Flash 小游戏的 4399,也逐渐被 H5 小游戏代替填满。

从发布关停声明起,已经有多个互联网项目着手保存已有的 Flash 作品,小小系列、《魔塔》、《皇家守卫军》、《森林冰火人》、《闪客快打》…

人们拥抱更加完美的技术,但让无数人不舍的是,在贫瘠的互联网初期,「闪客们」仅用一台电脑和一根网线就创造了如此多美好的回忆。


本文作者:沈知涵

图片来源:EducationWeek

责任编辑:于本一

本文首发于极客公园,转载请联系极客君微信geekparker。



相关推荐

字体缩放(方式一)(字体缩放150%怎么做)

通过元素宽度和字数计算得到缩放简单实现如下:/***字体最大为视觉要求大小(maxFontSize);超出缩小字体显示,最小为minFontSize;最小字体时超出部分使用圆点(...);*p...

网页世界隐藏的神秘代码语言,竟能这样改变布局

CSS基础:选择器与属性CSS(CascadingStyleSheets)是用于控制网页外观的一门样式表语言。它通过定义HTML元素的显示方式来增强网页的表现力。CSS的选择器允许开发者精确地定位...

CSS属性值计算过程详解(css属性用来定义元素计算)

在CSS中,即使某些属性没有显式声明,浏览器也会通过**属性值计算过程**为每个元素的所有属性赋予最终值。这一过程分为四个关键步骤,以下将逐一解析。1.确定声明值浏览器首先检查所有**直接应用**到...

软网推荐:找回调整Windows 10字号功能

之前的系统,从WindowsXP到早期版本的Windows10,均有字体大小调整功能,但从创意者版Windows10以来,取消了之前的设置选项,取而代之的是自定义缩放比例设置。使用这个功能调整过...

Excel中如何设置文本框属性,实例代码讲解

Excel不仅可以对数据进行处理,而且也可以图形化数据,直观显示数据表达的内容。本节介绍一个很重要的对象,Characters,字符对象,使用Characters对象可修改包含在全文本字符串中的任...

CSS 字体样式(css中字体)

本节我们来讲字体样式,之前我们学习HTML的时候学过一些用于字体加粗、倾斜的标签,但是使用标签来实现的效果肯定没有我们通过CSS中的样式来的方便。接下来我们会给大家介绍下面这几个属性的使用:通...

PC网站建设必备代码知识:HTML基础与应用技巧

在PC网站建设的相关课程里,代码扮演着至关重要的角色。只有熟练运用正确的代码,我们才能打造出功能完善、用户体验出色的PC网站。接下来,我会详细讲解在PC网站建设环节中必须了解的代码知识。HTML基础代...

让你大跌眼镜的疯狂 HTML 和 CSS 技巧

今天,分享一个让你大开眼界的技巧。通过使用这个技巧,你可以将整个网页变成一个CSS编辑器。没错,你从未见过这种方法。当我第一次尝试时,我完全被震惊到了。现在,让我们开始吧!步骤1首先,创建一个基础的...

jQuery EasyUI使用教程:创建一个链接按钮

jQueryEasyUI最新版下载>本教程主要为大家展示如何使用jQueryEasyUI创建一个链接按钮。通常情况下,使用“button/”元素来创建一个按钮;使用“a/”元素来创建链接按钮...

React 19 有哪些新特性?(react100)

如果你对React18还不熟悉,欢迎阅读之前的文章《React18全览[1]》最近React发布了V19RC版本,按照惯例,我们对React19的新特性进行一次深度的体验学习...

Java注解探秘:为什么@PostConstruct能解决你的初始化难题?

你是否在Spring项目中遇到过这样的困扰:明明依赖注入已经完成,但某些配置就是无法正常加载?手动调用初始化方法又容易引发空指针异常?这就是@PostConstruct注解大显身手的时候了!@Post...

AI驱动的表单自动填写(ai置入表格)

我们都同意,填写表格是一项枯燥且耗时的任务。如果我们可以创建一个可以为我们填写表格的AI助手,让我们将时间投入到更有建设性的任务中,那会怎样?AI助手将能够通过调用以表单字段为参数的函数来填写表...

从零到一:小程序设计新手如何快速上手?

开发环境搭建对于小程序设计新手而言,搭建合适的开发环境是首要任务。以小程序为例,其官方提供了功能强大的开发工具——开发者工具。首先,新手需前往官方开发者平台,在页面中找到“工具下载”板块,根据...

JavaSwingGUI从小白到大神-6(续)(java从小白到大牛怎么样)

接上一篇《JavaSwingGUI从小白到大神-6》,因本篇文章3万多字,头条一篇发不完,只能分开发。同事查询面板:CompanyFind.javapublicclassCompanyFind{...

C# winform界面假死(c#程序假死)

针对C#WinForm界面假死问题,以下是分步解决方案:1.使用异步编程(async/await)将耗时操作移至后台线程,保持UI线程响应。步骤:将事件处理函数标记为async。使用Task....