当前位置: 首页 > news >正文

火狐,要完了!

在过去几年中,关于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脚本技术也在不断发展和壮大。在本文中&#xf…...

要求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…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

Go语言多线程问题

打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...