为什么Flash被抛弃了

obe Flash,一个只要在互联网上混过的人应该都听说过的东西。在2020年的最后一天,我们终于和它说了再见。

Flash是一种多媒体创作和播放支持技术,在互联网技术史上曾经扮演过重要的地位。在20多年前网络技术还不像今天一样发达的年代,人们曾经重度依赖Flash制作网页、广告、小软件、游戏等多种多样酷炫、可互动的在线内容。

谷歌这样评价Flash:过去的20年里,Flash塑造了人们玩游戏、看视频和在网络上运行程序的方式。但是,在最近几年的时间里,Flash变得没那么流行了(特别是在谷歌主导推行HTML5替代Flash的努力下)。

在2014年,大约80%的Chrome浏览器用户会访问包含Flash内容的网站。这个数字到2017年只有17%了;而在今天,只有可能更低。比如硅星人日常会访问的网站里,只有微信公众号后台和美图秀秀网页版还在使用Flash。

(如何知道正在访问的网站是否包含Flash内容?以Chrome为例,如果你在地址栏靠右的地方看到下面这样的图标,则代表网页包含Flash内容,而且已经被浏览器默认屏蔽了。)

简单来说,Flash作为一项已经诞生20多年的技术,为了保证兼容性,客观上存在不少“漏洞”。在Flash还流行的年代,一般浏览器产品的漏洞中很大一部分都是因为需要支持Flash。

Flash在它诞生的时候十分前卫,但随着时间和其它方面互联网技术的进步,现在已经相当落后了。同样用于呈现互动式内容的HTML5和Web Assembly等开源技术,比Flash运行更快、占用计算资源较少、更加省电。再加上安全性问题,可以说Flash真的无甚优势了。

究其根本,Flash是一款闭源的技术,菲尔特由现在的拥有者Adobe独立维护,但又给Adobe赚不到什么钱,所以该公司对维护Flash更加不上心,也会出现在某些国家市场将授权卖给某些名声极差的代理商的情况。当Flash出了问题导致漏洞的时候呢?浏览器厂商还要等着Adobe修复,实在扶不上墙……

这也是为什么以苹果、谷歌为代表的公司,在过去的十年里一直在表达对Flash的不满。

苹果决定在iOS中不支持Flash,联合创始人乔布斯在2010年公开致信Adobe,炮轰Flash各种问题。2015年,YouTube全面转向HTML5,谷歌也发布了在移动设备上将Flash广告转成HTML5的技术。那一年,就连Adobe也顶不住压力,鼓励Flash开发者转向HTML5。

2017年,Adobe终于宣布了Flash的产品寿命结束计划。一些开发者层希望Adobe将Flash变成开源项目,以“保住互联网历史的重要一篇”,但这些努力也无疾而终。可能Adobe自己也不想再跟Flash有任何关系了。

1993年,连续创业者Charlie Jackson在上一家公司的竞业禁止条款结束之后,入股并加盟了关系亲密的前下属Jonathan Gay的新公司FutureWave。

据科技媒体ArsTechnica报道,Gay在Jackson的上一家公司Silicon Beach Software就已是核心程序员,而且当时还在上中学,开发了多款在苹果麦金塔操作系统上声誉颇佳的游戏和创作软件。

PenPoint OS没什么太大起色,被后来的主人AT&T关停了。当时其它的触控笔领域公司的表现也都不太好,Wacom华歌就是其中之一。该公司本来要参加方面顶级会议SIGGFRAPH,因为成本考量放弃了参加,把展位让给了FutureWave;但是在那次大会上,SmartSketch的销量也非常惨淡。

不过,FutureWave的开发脚步并没有停下。90年代中期,随着计算机网络技术进步,互联网变得越来越流行,FutureWave在SmartSketch的基础上增加了逐帧绘图等功能,做出的内容可以在网页上播放,产品改名为FutureSplash Animator,支持麦金塔和Windows系统。当然,有了制图工具,做出的内容也需要播放,所以他们又用Java写了一个播放器,名叫FutureSplash Player——Flash Player的前身。

Jackson在去年的一篇博客里透露,在1995年,FutureWave通过关系找到了时任Adobe CEO的John Warnock,希望Adobe能够买下这两款产品。但是很遗憾,他们赶工出来的产品太过于粗糙,播放简单的动画都卡的要命,被Warnock婉拒了。

FutureWave只能自己发布FutureSplash系列产品。虽然没能取悦Adobe的老板,FutureWave的这次转型还是非常成功的,也把这家当时已经徘徊在破产边缘的小作坊公司救了回来。先是微软看到了FutureSplash觉得很不错,后来迪士尼和福克斯等巨头公司都开始采用FutureSplash开发网页和内容服务。

在迪士尼的撮合下,Macromedia于1996年收购FutureWave。核心产品被重新命名为Flash。作为一家创意软件公司的Macromedia,在当时是Adobe的竞争对手,在网页设计领域也是FutureWave的前辈。

Flash 2.0很快于1997年发布,在今后的几年里逐渐加入了音频同步、照片导入、位图矢量化、播放控制按钮、脚本和数据存储等重要功能,逐渐成为了一个相当强大(而且在当时还算比较小巧)的网页程序开发工具。

Flash Player也迅速获得了用户的青睐。据当时报道,到了2005年,Flash Player已经成为了全球安装量最高的网页内容播放器,超过了Java、QuickTime、Real和WMP等。

大量的网站采用Flash技术驱动网页、网游、视频和音频内容。据Ars Technica报道,在2005年左右,为了能够植入到那些知名的Flash小游戏里,广告商愿意支付开发者每款游戏五位甚至六位数的费用。最知名的Flash小游戏的日访客人数能够达到数百万。很多今天仍受欢迎的游戏,比如Kingdom Rush等,最初都是Flash游戏或者基于Flash制作。

在如今已经成为全球最大在线视频网站的YouTube的背后,Flash居功甚伟。而YouTube的全民化,让Flash Player成为了不可或缺的软件。

2005年,Adobe以34亿美元的价格通过股票互换的方式收购Macromedia,拿下了包括Flash、Dreamweaver等后者的核心产品,也让这家办公/创意软件公司跻身互联网行业龙头。Jackson透露当时的Adobe CEO Bruce Chizen告诉他,在那笔收购当中,仅Flash就值30亿美元……

2008年,Adobe发布了Adobe Integrated Runtime,一款用于部分替代Flash Player的运行时引擎,也就是后来的AdobeAIR。它具有许多新颖和强大的功能,比如让Flash开发者获得访问用户文件系统的能力,再一次扩展了Flash技术的版图。到2014年,Adobe AIR达成了全球10亿安装量和10万已开发独立应用的里程碑,然后连续两年获得了消费电子展(CES)最佳移动应用开发产品奖。

但在当时,移动互联网技术日新月异,行业已经出现了朝着HTML5等被视为更先进的开源方案迁移的趋势。Flash的确很强大,但因为安全、性能等方面的缺陷,增长也已经显示出颓势。

十多年前,当移动互联网伴随着iPhone和iOS的问世,刚开始蓬勃发展的时候,Flash的终局似乎就已注定。

史蒂夫·乔布斯一度对Adobe非常看好,苹果也是Adobe最早的客户之一。乔布斯1982年就曾经想要出资500万美元买下Adobe,虽然被拒绝,但是在股东的帮助下还是出了5倍的溢价拿到了后者19%的股权和一系列关键技术的授权。

但是当苹果开发出具有跨时代地位的iPhone和iOS的时候,乔布斯已经不再欣赏Adobe当时核心技术之一的Flash了。

2010年,鉴于一些苹果批评者抨击乔布斯拒绝在iPhone、iPod和iPad上支持Flash的决定,他在官网上发表公开文章评论Flash和HTML5的崛起,指出Flash是一项百分之百闭源的技术,稳定性和安全性太差,不足以安装到苹果移动设备上。

就像Epic Games、菲尔特Basecamp等那些在过去一年里跟苹果正面较量的开发者所相信的那样,当年的Adobe也认为苹果拒绝在移动平台支持Flash是在刻意屏蔽以Flash游戏和视频为代表的海量Flash内容,从而保护自己的势力范围。

Adobe为这事也跟苹果打了官司,问题上升到了反垄断,引入了美国联邦贸易委员会,甚至Adobe最终还赢了官司。但是,Flash沦为过时技术,退役的终局,或许在苹果决定不在移动平台支持它的时候,就已经写下了。

Adobe在十年前发布的广告,遗憾很多苹果移动设备的用户并看不到,因为它是用Flash发布的……

2011年,Adobe宣布将不再继续为移动平台版Flash的开发提供资源。2015年,Adobe更改了Flash的名称,将创作部分产品的名字改为Animate,还发布了官方博客,鼓励内容创作者采用“新的网页标准”——也比如HTML5——来开发内容。

同一天,谷歌宣布将在Chrome浏览器中逐渐淘汰对Flash的支持。这个过程和Adobe基本同步,持续了数年:一开始先是在用户浏览带有Flash内容的网页时询问是否要运行Flash支持;然后是默认屏蔽Flash,用户需要经过一系列操作才能为网站开启白名单;最终于2020年底完全屏蔽Flash内容。

今天已经是2021年。我们终于可以和陪伴了20多年的Flash说再见了。

首先,如果你没有安装过独立的Flash Player,只是在浏览器上使用的话,包括Chrome、Edge、Firefox等在内的主流浏览器已经开始屏蔽Flash内容。

如果你曾经手动为某些网站开启过Flash,可以在浏览器的设置菜单里关闭。(以Chrome为例:设定→隐私和安全→网站设定→其他设定→Flash)

在Windows上,如果用户曾经安装过独立的Flash Player,Adobe建议用户首先关闭所有浏览器和可能使用Flash技术的游戏等软件。然后,用户可以在Adobe官网下载Flash Player卸载器,直接运行并按照提示操作即可。

然后用户需要确保删除所有Flash Player的相关文件夹和文件,然后重启电脑。这些文件的路径可能包括:

在macOS上,用户需同样需要到Adobe官网下载对应操作系统版本的卸载器,关闭所有浏览器和可能使用Flash技术的软件,然后按照卸载器的提示操作即可。

Cheap_flash_fs(高端版)–嵌入式FAT16/32文件系统免费源码下载

Cheap_flash_fs(高端版)–嵌入式FAT16/32文件系统免费源码下载 本代码兼容FAT16/FAT32文件系统共计两种格式,兼容微…

文章目录通信链路程序框架源码解析功能任务作用Bootloader+Firmware程序烧录与Flash地址管理问题控制模式中的定点模式(需配合…

STM32使用HAL库读写内部FLASH测试环境:STM32F103RB20KBytes RAM128KBytes FLASH头文件:////////…

STM32F407HAL用FLASH写掉点保存FLASH工作流程写数据流程:Flash解锁——擦除扇区——写数据到指定空间——上锁…

笔者使用的单片机型号是:STM8L151C8T6,有64kFlash本教程可能使用的文件下载地址:官方固件及指导手册:…

疫情影响加重,苹果AirPods 3、谷歌Pixel 6/Pro 手机将在中国生产

据《日经新闻》报道,近期新冠肺炎疫情在全球的肆虐情况有所加剧,东南亚多国疫情迎来新一轮爆发高峰,马来….

概述本篇文章介绍如何使用STM32HAL库,针对芯片读写保护实现防篡改、破解功能(详解),实质也是操作Flash。…

记录一下,方便以后翻阅~主要内容:1)STM32 Flash操作介绍;2)寄存器和库函数介绍;3)&nb…

在详细介绍STM32的FLASH读写之前,我们需要了解一下什么是RAM和ROM以及一些存储器相关概念的介绍。由于篇幅过长,…

此前,有爆料称谷歌自研了一款芯片,从而引发了很多人的猜测,认为谷歌从此以后很可能就要摆脱“老朋友”高….

目录参考示例前言一、需使用的组件与软件包及其ENV配置1、文件系统相关组件与软件包1.1、DFS 框架1.2、fal 软件包1.3、SF…

stm32 HAL库 Flash操作简介目录第一stm32,flash介绍查看代码段,以判断代码长度flash的基本操作规则stm32 HA…

作为手机的核心部件,芯片是无线通信产业的核心竞争力之一。高通骁龙芯片在行业内的地位是不言而喻的,可以….

可编程逻辑器件伴随着半导体集成电路的发展而不断发展,其发展可以划分为以下4个阶段。

导读 使用每个类的有效样本数量来重新为每个类的Loss分配权重,效果优于RetinaNet中的Foc….

还记得你上一次在上路前看地图或者问陌生人该走哪个路口是什么时候吗?多亏了汽车导航系统,那些日子已经一….

高通在基带芯片市场上的地位是不言而喻的,尤其是5G时代,可以说任何市场的风吹草动几乎都和高通有着千丝….

一、生成固化文件1、先生成bit文件,再生成固化文件 2、生成固化文件步骤 A选择当前flash的大….

谷歌于美国时间8月1日预告了今年将要发布的两款新机,Pixel 6和Pixel 6 Pro。作为Pi….

在javascript与flash之间来回传值(嵌入式开发未来的生活)-在javascript与fl….

超高速FlashADC集成电路设计(嵌入式开发过程中使用仿真器下载和串口下载的优缺点)-随着半导体技….

SPI接口的FLASHROMAT45DB161D的驱动方法(c语言嵌入式开发书)-AT45DB161….

6位Flash型超高速ADC的设计(c语言嵌入式开发怎么学)-作为模拟与数字电路的接口电路的关键部分….

STM32FLASH实验-SPI(嵌入式开发考研考什么)-FLASH实验-SPI学习目标:1、学会S….

LPC12XX FLASH源码(嵌入式开发与应用)-【资源描述】:LPC12XX FLASH源码【编….

关于STM32的FLASH程序(超实用)(嵌入式开发应用培训)-关于STM32的FLASH程序(超实….

关于Flash程序空间中的数据访问的实验(物联网嵌入式开发)-关于Flash程序空间中的数据访问的实….

关于S29GL256S系列并行nor flash的读写擦除操作实验(做嵌入式开发用什么电脑好点)-f….

基于McBSP实现DSP与串行Flash之间的接口通讯(android嵌入式开发教程)-该文档为基于….

BCH编解码器在NAND Flash主控中的研究与优化实现(嵌入式开发培训哪家好)-该文档为BCH编….

ST公司的M25Pxx SPI flash memory的verilog仿线Pxx SPI flash memory的verilog仿真模型(嵌入式开发工程师和….

STM32F4 SPI-FLASH实验例程(java的哪个版本用于嵌入式开发)-STM32F4 SP….

STM32F4内部Flash实验例程(嵌入式开发版哪个好)-STM32F4内部Flash实验例程,有….

STM32F4 FLASH字库实验例程(嵌入式开发实验仪LED电灯(显示数字)-STM32F4 FL….

Flash单片机实验课件的制作(计算机三级嵌入式开发真题)-该文档为Flash单片机实验课件的制作讲….

基于C_CoreTMRISC CPU的FLASH控制器设计(嵌入式开发 产品)-该文档为基于C_Co….

NAND Flash主机接口控制器技术研究(嵌入式开发入门 csdn)-该文档为NAND Flash….

基于页合并更新的NAND Flash垃圾回收算法研究(android嵌入式开发高德)-该文档为基于页….

从TMS320F281xDSP片上FLASH中运行应用程序_从FLASH转移到RAM运行_BIOS

从TMS320F281xDSP片上FLASH中运行应用程序_从FLASH转移到RAM运行_BIOS(….

Configuring the bq2754x-G1 Data Flash 电池数据应用说明

Configuring the bq2754x-G1 Data Flash 电池数据应用说明(嵌入式….

通过STM32CubeMX制作外部Flash的烧写驱动(西安 嵌入式开发)-目前,越来越多的应用需要….

FPGA_ASIC-DSP和FPGA共用FLASH进行配置的方法(哪些专业适合嵌入式开发)-该文档为….

使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码

使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码(嵌入式开发….

STM32擦除内部FLASH时间过长导致IWDG复位(嵌入式开发一般采用什么方式?)-客户反馈在使用….

FLASH被异常改写(嵌入式开发笔试题目)-某客户反馈, 当MCU 频繁的正常通断电的时候。FLAS….

利用QuadSPI外扩串行NOR Flash的实现(嵌入式开发软件学习)-STM32提供了灵活多样的….

对Flash 操作导致USART 接收丢数据(嵌入式开发系统中宿主机概念)-该问题客户提出,发生在S….

Nand Flash文件系统解决方案(嵌入式开发一般考什么证书)-ST提供适用于SLC的NFTL(N….

实现基于FPGA的SPIFlash控制器设计(嵌入式开发工作怎么样)-该文档为实现基于FPGA的SP….

今日早些时候,根据外媒的报道消息称,谷歌公司被法国的政府总监管机构总共罚款了5亿欧元,具体什么原因谷….

最近,谷歌在《自然》杂志发表了论文《面向快速芯片设计的图布局方法》(A graph placemen….

对这种自然的做法,以往的MCU在执行片外加密代码时,需要先调用OSPI驱动,把密文代码读进来,比如放….

根据研究和咨询公司 Gartner 周一的一份新报告,亚马逊网络服务、微软和阿里巴巴在 2020 年….

2012年谷歌眼镜的诞生,开启了智能可穿戴设备的新纪元。越来越多的新型可穿戴设备出现在我们生活中,最….

联合创新实验室可以支持供应商在谷歌私有云和公有云中协同构思、测试、优化以及验证AI-on-5G 网络….

尽管人工智能(AI)技术领域在最近取得了进步,但它依然在大多数基本应用上暴露出很多问题。 在一项新的….

如果你还不了解什么是STM32对其Flash的保护,那么就由小橙同学来给你讲解一下什么是STM32的….

【新智元导读】AI模型进入大数据时代,单机早已不能满足训练模型的要求,最近Google Brain和….

更多精彩尽在这里,详情点击:http://hxteach.com/,菲尔特

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注