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

昔日网页霸主Flash为何惨遭淘汰?

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

Adobe Flash Player是由Macromedia公司编写的一种多媒体程序播放器。

该软件在Macromedia被Adobe收购后由Adobe继续开发并分发,成为适合开发创造丰富型互联网应用程序、流视频音频的工具,其功能强大,兼容性高,能在各种浏览器、操作系统和移动设备上使用。

因而Flash和当时同为Adobe公司旗下的Dreamweaver和Photoshop(起初是Fireworks,后来直接就都选择ps了)两款软件并称为“网页三剑客”,既然是网页三剑客,Flash自然就在网页里面担当着闪图动画的制作工作,主要负责当时看上去特别时尚(现在看着特别老土非主流)的特效动画相关设计,同时也担当这制作网页视频播放器的职责,现在你在一些网站都还能看到以Flash为主的视频播放器,比如哔哩哔哩,虽然没有作为主流的网页视频播放器解决方案了,但依旧可以看见Flash这位老人家的身影!

Flash虽然在网站上面不甘示弱,但别忘了,它的本质可是一款关键帧动画软件,不管是网页上,还是影视上,它的作用都是用来制作一些动画,比如现在的那些儿童歌曲的MV,都是用Flash制作的,还有一些安全警示教育片啥的,也有一部分是用Flash制作的;

远的不说,《喜羊羊与灰太狼》、《罗小黑战记》,这些动画都有flash的身影,当然那也是老黄历了,现在是基本很难见到Flash的身影了。

早在2021年的1月1日时,Flash 已经正式停运了,但也别灰心,在中国,你依然可以通过电脑那些烦人的弹窗广告看见它的身影!

Flash的崛起之路

Flash在20年前就提供了从「开发环境」到「内容播放」一整套完整的生态环境;它包容并进,用Adobe Flash开发的内容无需另行适配,就可以在不同硬件平台上通过Flash播放器直接播放;它极易上手,可以通过图形化界面进行内容甚至是软件开发;它小巧精致,凭借矢量图形技术,小巧的的Flash文件降低了早期互联网对带宽和存储空间的需求。

Flash这几大技术亮点,这个原本只用来做动画的软件迅速被捧上了互联网的风口,也成为了过去数十年内网页游戏、动画、广告的最佳展现形式,Flash更是一度成为了国内外互联网的求职热词。

早期的互联网,在Flash面世之前,互联网的交互方式极为单一:没有首页轮播,没有视频内嵌,没有弹幕没有动画甚至连图片都没几张。当时的互联网目光所到之处除了纯色或填充的背景就是字典一般的文字跳转。而用户对此也习以为常,就像iPhone面世之前大家对全键盘智能机的看法一样;

但Flash的出现就像iPhone一样彻底改写了互联网的交互方式,它不仅有画面、声音,在交互时还能根据用户的操作做出对应的「反馈」,这种交互形式的变化在极短的时间内重新定义了互联网的格局。尽管Flash的「沙盒」特性带跑了不少网站的审美(当时的时尚,现在的杀马特风),让一些品牌过于「放飞自我」,但从互联网的进程来看,Flash的的丰功伟业依旧不可磨灭。

业界人士也好,普通用户也罢,可以说当时的Flash影响着每一个人,你还记得4399小游戏吗?记得当年那个火柴人嘛?记得自己杀马特的QQ空间装扮嘛?

Flash的淘汰之路

Flash可以说当时是红遍大江南北,甚至伴随着小编度过了一个美好的童年,曾经一个火柴人的小游戏更是红极一时,更别说其它数都数不过来的Flash小游戏了。

然而就是这位老大哥,逐渐被市场淘汰,随着iPhone的流行,Flash在移动市场迅速衰退,2007年出现的iPhone一开始就不支持Flash,当时正值Flash的顶峰,很多人起初对苹果这一决定嗤之以鼻,但最后发觉原来增加续航的最好方法不是增大电池,而是抛弃Flash;于是,Android也在2012年宣布不再支持Flash,Flash在移动市场不再有立足之地。

Chrome从Chrome42开始,便强制把Flash装入沙箱,以PPAPI的形式运行;在后续推出的Chrome 55中,更是默认禁止Flash运行,Firefox更加厉害,当时就直接默认禁止Flash运行了,当时也就微软的Edge还在支持着Flash,但微软最终也在win10后续更新中彻底将Flash打入了冷宫;

没了各界浏览器内核大佬的支持,那也就意味着Flash在互联网上的路彻底被堵死可,没了市场,各界程序员、各界闪客们也自然也就把它给抛弃。

Flash被淘汰的原因

互联网和各个领域的发展是十分迅速的,跟不上时代的节奏,等待你的只能是被无情淘汰,放在十年前你可以傲视群雄,但十后,你就啥也不是了;总结下来,Flash被淘汰的原因,小编认为主要有以下三点:

  1. 效率低,功能多,但略显臃肿,俗称花里胡哨,啥都支持,就是啥也没做好!
  2. Flash的安全性非常低,腾讯QQ空间想必都玩过,为了迎合市场,当时QQ空间还支持自定义Flash文件,结果没过多久就出现重大安全问题,用户隐私暴露,密码被盗是常有的事,安全机构NTT Group公布的十大最危险的漏洞就全部出自Flash。
  1. HTML5的出现,完美替代了Flash在互联网的地位,HTML5标准落地,受到了业界的一致肯定,微软、苹果、Google乃至Adobe都在力推HTML5,就连亲爹都不挺Flash了,Flash被淘汰不是毫无疑问的嘛?现在的HTML5、CSS、JavaScript显然更符合大众口味。

总结

时代发展太快,很难有某样东西长久不衰,曾经的诺基亚也曾是一方霸主,但奈何只留下了怀缅;Flash在以前的互联网中,拥有不可替代的地位,无非是跟不上脚步,掉了队;不用伤心,不用难过,Flash在烦人的弹窗广告里依旧保留着一席之位……“Flash中国特供版”,专为辣鸡广告而生。

看到最后,小编也不知道对Flash该保持一种怎么样的情绪了,这该死的弹窗广告……将还会陪伴着你我一段很长的时间,Flash“死”在了国外世界各地,却唯独在中国活了下来。

小编有时候也真想就把这Flash给彻底卸载了,奈何国内还有不少网站平台需要Flash的支持……一个卸载,一些功能就没办法使用了,马化腾也一个劲的提示我Flash没安装,说影响我QQ秀展示……

想到这里,俺又默默的把Flash装了回来,顺便安装了个弹窗广告拦截软件……

相关推荐

Python入门学习记录之一:变量_python怎么用变量

写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...

python变量命名规则——来自小白的总结

python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...

Python入门学习教程:第 2 章 变量与数据类型

2.1什么是变量?在编程中,变量就像一个存放数据的容器,它可以存储各种信息,并且这些信息可以被读取和修改。想象一下,变量就如同我们生活中的盒子,你可以把东西放进去,也可以随时拿出来看看,甚至可以换成...

绘制学术论文中的“三线表”具体指导

在科研过程中,大家用到最多的可能就是“三线表”。“三线表”,一般主要由三条横线构成,当然在变量名栏里也可以拆分单元格,出现更多的线。更重要的是,“三线表”也是一种数据记录规范,以“三线表”形式记录的数...

Python基础语法知识--变量和数据类型

学习Python中的变量和数据类型至关重要,因为它们构成了Python编程的基石。以下是帮助您了解Python中的变量和数据类型的分步指南:1.变量:变量在Python中用于存储数据值。它们充...

一文搞懂 Python 中的所有标点符号

反引号`无任何作用。传说Python3中它被移除是因为和单引号字符'太相似。波浪号~(按位取反符号)~被称为取反或补码运算符。它放在我们想要取反的对象前面。如果放在一个整数n...

Python变量类型和运算符_python中变量的含义

别再被小名词坑哭了:Python新手常犯的那些隐蔽错误,我用同事的真实bug拆给你看我记得有一次和同事张姐一起追查一个看似随机崩溃的脚本,最后发现罪魁祸首竟然是她把变量命名成了list。说实话...

从零开始:深入剖析 Spring Boot3 中配置文件的加载顺序

在当今的互联网软件开发领域,SpringBoot无疑是最为热门和广泛应用的框架之一。它以其强大的功能、便捷的开发体验,极大地提升了开发效率,成为众多开发者构建Web应用程序的首选。而在Spr...

Python中下划线 ‘_’ 的用法,你知道几种

Python中下划线()是一个有特殊含义和用途的符号,它可以用来表示以下几种情况:1在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。例如:>>>2+...

解锁Shell编程:变量_shell $变量

引言:开启Shell编程大门Shell作为用户与Linux内核之间的桥梁,为我们提供了强大的命令行交互方式。它不仅能执行简单的文件操作、进程管理,还能通过编写脚本实现复杂的自动化任务。无论是...

一文学会Python的变量命名规则!_python的变量命名有哪些要求

目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...

更可靠的Rust-语法篇-区分语句/表达式,略览if/loop/while/for

src/main.rs://函数定义fnadd(a:i32,b:i32)->i32{a+b//末尾表达式}fnmain(){leta:i3...

C++第五课:变量的命名规则_c++中变量的命名规则

变量的命名不是想怎么起就怎么起的,而是有一套固定的规则的。具体规则:1.名字要合法:变量名必须是由字母、数字或下划线组成。例如:a,a1,a_1。2.开头不能是数字。例如:可以a1,但不能起1a。3....

Rust编程-核心篇-不安全编程_rust安全性

Unsafe的必要性Rust的所有权系统和类型系统为我们提供了强大的安全保障,但在某些情况下,我们需要突破这些限制来:与C代码交互实现底层系统编程优化性能关键代码实现某些编译器无法验证的安全操作Rus...

探秘 Python 内存管理:背后的神奇机制

在编程的世界里,内存管理就如同幕后的精密操控者,确保程序的高效运行。Python作为一种广泛使用的编程语言,其内存管理机制既巧妙又复杂,为开发者们提供了便利的同时,也展现了强大的底层控制能力。一、P...