火狐,要完了!
在过去几年中,关于Firefox 浏览器的衰落有过不少讨论。目前来说,很多公共的以及私营的大型网站都缺乏对Firefox的适当支持。但是Firefox也多次试图“自救”,甚至就在不久前,Mozilla 通过官博发文,表示 Firefox 在 2023 年变的更快了,用户体验也得到改善与提升。
可最近,美国又新出炉了一项开发指导方针,虽然指向比较模糊,却极有可能加速火狐的衰落。Firefox是否真的在滑向深渊呢?
1、滑向深渊:岌岌可危的2%分界线
事情起始于一套针对美国政府网站开发者的指导方案。
图片
美国网页设计系统(USWDS)提供了一套全面的标准,指导那些建立美国政府网站的人。关键在于其开发者文档里,在“浏览器支持”条目下,明文指出参照了其英国同行的黄金法则,即:“根据analytics.usa.gov的观察,我们正式支持任何使用率超过2%的浏览器。”
图片
有意思的是,在过去90天的浏览器流量统计中,Firefox的市场份额为2.2%,差不多踩在了这一标准的临界线上。问题在于,多年来Firefox的数据并没有改善的趋向,反而是在持续的下滑中。这意味着Firefox终有一天会被这一标准“拒之门外”,而且这一天不会太远。
图片
也许你会觉得这套标准只适用于美国政府的网站开发人员,对其他网页开发者影响不大。但后续的连锁反应却很可能是这样:
- 一旦Firefox在政府的访问者分析中滑落到2%的界限以下,USWDS就会告诉政府网站开发者,他们不必再支持Firefox了。
- 当这个消息传开后,它不仅会迅速传播到前端开发社区,而且还会传播到一些网站开发人员所属公司的IT部门。许多公司与政府有业务往来,因此,无论政府从IT的角度做什么,都会影响公司的行为。
- 公司将这种变化视为降低开发成本和交付时间的机会,因为它为从开发工作流程中删除一些测试(以及某些情况下特定的编码)提供了顺理成章的借口。
在多米诺骨牌一张一张倒下后,你可能会突然发现,火狐这个曾经打败了IE7 的开源浏览器不可避免地走向了末路,永久沦为了各种浏览器市场份额图表中日益缩小的那个部分。也许这个猜测有点极端,但却并非无的放矢。
2、两次浏览器大战:昔日的浏览器自由之光,被Chrome遥遥甩在身后
在2003年横空出世的Firefox,并非没有过高光。
在第一次浏览器大战后,一代神话网景落幕。IE在杀死网景Navigator后彻底占据了浏览器市场逾90%的份额。而打破这种一家独大局面的正是Firefox。
被微软的帝国策略摧毁的网景在败退的同时留下了继任者的火种,而火狐也不负所望。
刚推出的Firefox解决了彼时IE中存在的大量缺陷,提供了分页浏览、拼写检查、Live书签等许多新功能,其丰富的插件、轻快的浏览速度以及颜值都让它收获了大批拥护者。对Web开发人员来说,其Gecko渲染引擎又破局吸引力。
最终在2009年,Firefox打败了IE7,一举夺回全球第一浏览器的王座,实现了“Take back the web”的愿望。
可惜的是,更加高效的Chrome在谷歌的扶持下迅速崛起,关于Firefox的评价却开始有了下滑迹象,比如不断以大修的方式来破坏用户体验,再比如缺乏显著的性能改进等等,Firefox也曾学习过Chrome的部分思路,试图取长补短,但终究是积重难返,而且Chrome的垄断地位也逐渐形成……
不可忽视的是,在这场浏览器混战中,被“群殴”的IE日渐沦为“浏览器下载工具”,捆绑销售策略彻底失灵。微软也不得不改弦更张,发布Edge浏览器,坚持EdgeHTML内核,以图挽回颓势,但也无力回天。结果微软还是选择妥协,改用Chromium内核。
在第二次浏览器大战中,Firefox一度登顶,却遗憾败北;IE彻底“入土”;Safari借助MacOS的封闭性成为“一霸”;Chromium阵营胜出,谷歌成为赢家。
根据 Statcounter 的统计数据,Firefox在2009年11月达到了31.82%的峰值,然后随着Chrome的崛起而开始了漫长的下滑。后者的使用率从2009年1月的1.37%飙升至2020年9月66.34%的峰值,此后又回落至最新数据中的62.85%。
图片
从2009年10月到2023年11月,Chrome vs Firefox vs Safari
另外,根据Mozilla公布的“用户活动”图表,同样也可以看到:活跃的Firefox客户端数量从2018年12月31日的2.44亿下降到2023年11月20日的1.87亿。5年间,活跃用户数下降了约23.3%。
图片
对火狐来说,衰落似乎是漫长且不可逆转的。不过从其官网标语来说,经历过互联网野蛮生长时代的Firefox依然保持着其昔日的骄傲。“没有晦涩难懂的隐私保护政策,更不向第三方预留后门,纯粹是一款闪电般快、不会出卖您的浏览器。”
图片
回顾Firefox的发展,不可避免的要提到IE的坠亡,Edge的妥协,Chrome的兴盛。在形形色色的浏览器里,在IT的历史长河中,Firefox始终是自由、开放、协作、共享的互联网精神的典型代表,那么面向未来,Firefox又将何去何从呢?
3、没有“背靠大树”,就注定要凉吗?
有人试图从功能、需求、体验的角度来分析火狐衰落的原因,甚至细化到哪些“不合时宜”的迭代决策成为了其失败的导火索。事实上,没有哪个浏览器是完美的。
在更多人看来,火狐的衰落就是因为没有“背靠大树”。缺少一个强大的靠山就是火狐走向穷途的根因。
细想一下,Chrome背靠谷歌,占据绝对优势;Edge背靠微软,如今搜索引擎Bing又有AI chat加持,更有吸引力;Safari背靠苹果,MacOS与iOS的封闭性就足以让它高枕无忧。
相较之下,Firefox的靠山是Mozilla基金会。无论从体量还是影响力来说,Mozilla就逊色许多了。虽然Firefox是Linux下的默认浏览器,但在桌面市场Linux的份额太低了。而且对一般用户来说,Firefox引以为傲的隐私保护和安全性并不能带来直接实感。这就导致其多少显得曲高和寡。
作为互联网的主要入口,浏览器向来是巨头们布局的要塞。在这块阵地上,未来竞争的关键会是什么呢?集成了ChatGPT的Bing会让Edge后来者居上吗?Chromium的广泛应用让谷歌占据了绝对话语权,但这种依靠开源形成的强势垄断会引起反噬吗?没有背靠大树的Firefox又是否会绝处逢生呢?绑定了各大系统的多足鼎立之势何时会打破平衡呢?我们可以静观时局。
相关文章:

火狐,要完了!
在过去几年中,关于Firefox 浏览器的衰落有过不少讨论。目前来说,很多公共的以及私营的大型网站都缺乏对Firefox的适当支持。但是Firefox也多次试图“自救”,甚至就在不久前,Mozilla 通过官博发文,表示 Firefox 在 2023…...

在AWS Lambda上部署EC2编译的FFmpeg工具——自定义层的方案
大纲 1 确定Lambda运行时环境1.1 Lambda系统、镜像、内核版本1.2 运行时1.2.1 Python1.2.2 Java 2 环境准备2.1 创建EC2实例 3 编译FFmpeg3.1 连接EC2 4 编译5 上传S3存储桶5.1 创建S3桶5.2 创建IAM策略5.3 创建IAM角色5.4 EC2关联角色5.5 修改桶策略5.6 打包并上传 6 创建Lamb…...

情深不必纠缠
那一年,男孩女孩在万千人中相遇了。多年后女人的一封邮件,让男人与女人的灵魂相遇了。他们无缘夫妻,却发现彼此是灵魂的陪伴。不能携手相守,却懂得彼此的心灵。 有一天,女人告诉男人要回家了,问男人心里会不…...

AIGC之Image2Video(一)| Animate Anyone:从静态图像生成动态视频,可将任意图像角色动画化
近日,阿里发布了Animate Anyone,只需一张人物照片,结合骨骼动画,就能生成人体动画视频。 项目地址:https://humanaigc.github.io/animate-anyone/ 论文地址:https://arxiv.org/pdf/2311.17117.pdf Github…...
区块链的可拓展性研究【04】分片
分片属于layer1扩容 区块链分片是一种技术实现,可以将区块链网络分成多个片段,每个片段负责处理一部分的交易数据。这种方法可以提高区块链网络的处理速度和吞吐量,降低交易确认时间和费用,同时也可以减轻节点运行负担。 在传统…...
blender 粒子系统 roughness 属性
粒子系统中的Roughness是一种用来控制粒子的随机性和不规则性的属性,它可以影响粒子的发射方向、速度、大小、旋转等。Roughness有以下几个子属性: - **Uniform**:这个属性用来控制粒子的发射方向的随机性,即粒子在法线方向上的偏…...

npm ERR! notarget No matching version found for @eslint/eslintrc@^2.1.4.
文章目录 Intro解决流程总结前置信息了解npm 镜像源三个要用到的npm命令 官方源确认查看当前镜像源的详情解决: 切换镜像源后重试重新操作 事后感受华为云再测试 Intro 事由是今天我在用 create-react-app 新建一个用于测试的前端项目。 然后就出现以下报错&#x…...
截取字符串
输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出。 数据范围:字符串长度满足 1≤n≤1000, 1≤k≤n 输入描述: 1.输入待截取的字符串 2.输入一个正整数k,代表截取的长度 输出描述:截取后的字符串…...

【Python】Faker库详解:创建测试数据轻而易举
Python Faker库详解:创建测试数据轻而易举 在软件开发和测试过程中,通常需要大量的测试数据来模拟真实环境。Python的Faker库为开发者提供了一个方便、灵活且强大的工具,用于生成各种虚构数据。本文将深入介绍Faker库,演示其基本…...

Spring boot -- 学习HttpMessageConverter
文章目录 1. Json格式数据获取2. 为什么返回Json格式的数据2.1 注解SpringBootAppliaction2.1.1 SpringBootConfiguration2.1.2 ComponentScan2.1.3 EnableAutoConfiguration2.1.3.1 HttpMessageConvertersAutoConfiguration2.1.3.2 WebMvcAutoConfiguration 2.2 注解RestContr…...

如何选择合适的运筹优化求解器?
文章目录 前言求解器对比问题延伸:商用求解器和开源求解器的差别是什么? 求解器PK总结参考资料 前言 求解器对于运筹算法工程师而言,常常像一个黑盒,我们扔进去输入数据和数学模型,求解器给我们吐出一个解出来。这种状…...

Python 精讲 | 奇葩的 is
大家好,欢迎来到 Crossin的编程教室 ! 接下来的几个例子,可能会颠覆你对 Python 的认知。 我们知道,Python 判断两个数值是否相等的运算符是「」。比如有一个变量 a 是整数 1,另一个变量 b 是小数 1.0,尽管…...
遥感卫星综述(下载和预处理)(持续更新)
遥感卫星综述(下载和预处理) 目录 遥感卫星综述(下载和预处理)一、国产卫星GF-1 WFV 二、国外卫星Sentinel-1Sentinel-2 一、国产卫星 GF-1 WFV 下载 分辨率波段16m4(蓝、绿、红、近红) 预处理: ENVI预处理GF-1号W…...
Nmap脚本未来的发展趋势
Nmap脚本技术的发展趋势和前景 Nmap脚本是一种基于Lua语言开发的脚本,可以扩展Nmap的功能,用于自动化扫描、漏洞检测、服务探测、设备管理等方面。随着网络安全的不断发展和漏洞的不断出现,Nmap脚本技术也在不断发展和壮大。在本文中…...
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 17 章:对话提示
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 17 章:对话提示 对话提示是一种允许模型生成模拟两个或多个实体之间对话的文本的技术。 通过向模型提供上下文和一组角色或实体,以及他们的角色和背景,并要求模型生成他…...

urllib爬虫 应用实例(三)
目录 一、 ajax的get请求豆瓣电影第一页 二、ajax的get请求豆瓣电影前十页 三、ajax的post请求肯德基官网 一、 ajax的get请求豆瓣电影第一页 目标:获取豆瓣电影第一页的数据,并保存为json文件 设置url,检查 --> 网络 --> 全部 -…...

【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第三次作业
part 1 设计一个学籍管理小系统。系统包含以下信息: 学号、学生姓名、性别、出生日、学生所在系名、学生所在系号、课程名、课程号、课程类型(必修、选修、任选)、学分、任课教师姓名、教师编号、教师职称、教师所属系名、系号、学生所选课…...

TP5上传图片压缩尺寸
图片上传,最简单的就是, 方法一: 修改上传限制,不让上传大于多少多少的图片 改一下size即可,默认单位是B换算成M还需要除以两次1024 方法二: 对上传的图片进行缩放,此办法网上找了不少的代码…...

使用 Tailwind CSS 完成导航栏效果
使用 Tailwind CSS 完成导航栏效果 本文将向您介绍如何使用 Tailwind CSS 创建一个漂亮的导航栏。通过逐步演示和示例代码,您将学习如何使用 Tailwind CSS 的类来设计和定制导航栏的样式。 准备工作 在开始之前,请确保已经安装了 Tailwind CSS。如果没…...

docker容器配置MySQL与远程连接设置(纯步骤)
以下为ubuntu20.04环境,默认已安装docker,没安装的网上随便找个教程就好了 拉去mysql镜像 docker pull mysql这样是默认拉取最新的版本latest 这样是指定版本拉取 docker pull mysql:5.7查看已安装的mysql镜像 docker images通过镜像生成容器 docke…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...

Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...