首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我为什么放弃了Chrome?

我为什么放弃了Chrome?

作者头像
IT阅读排行榜
发布于 2019-08-12 07:57:06
发布于 2019-08-12 07:57:06
1K0
举报
文章被收录于专栏:华章科技华章科技

导读:曾经,Firefox 和 Chrome 的出现,带领 Web 打破了微软 IE 浏览器竖起的高墙。而今,高喊“不作恶”的 Chrome 似乎正有意另起一座“有围墙的花园”……

2018 年 12 月,微软宣布桌面版 Edge 浏览器正式拥抱 Chromium 开源项目。一时间几家欢喜几家愁,前端工程师举杯相庆之时,亦不乏对浏览器市场角逐者日益减少的深层忧虑,“Chrome 垄断”以及 Google 和微软的“前世今生”论也每每被提及。Google 更是由于 YouTube 在其他浏览器上运行时会出现的不兼容现象而屡遭“挖坑”、“强迫微软弃用 Edge 内核”的质疑。 本文就将讨论:在野心勃勃的 Google 以及更大的隐患面前,Chrome 的优势真的还值得我们为之驻足买单吗?

作者:Reda Lemeden 译者:弯月 来源:CSDN(ID:CSDNNews)

十年前,我们需要 Google 的 Chrome 来打破企业霸权对网络的束缚,而且我们在很短的时间内就做到了。如今,它的主导地位正在扼杀当初它从微软的魔掌中拯救出来的平台。而这是除了 Google 之外任何人都不想看到的。

时值 2008 年,微软仍然坚定地控制着浏览器的市场。自 Mozilla 发布 Internet Explorer 的强力竞争对手 Firefox 以来已经过去了六年,Google,这家人见人爱的搜索引擎公司宣布加入竞争者的行列,于是 Chrome 诞生了。

在两年内,Chrome 占据了台式机网络流量的 15%,相比之下 Firefox 用了 6 年时间才实现。Google 提供了一个快速且精心设计的浏览器,受到了用户和 Web 开发人员的青睐。他们的产品创新和工程实力在业界堪比一股清流,而他们对开源的承诺更是锦上添花。多年来,Google 采用的 Web 标准成了榜样。

十年后的今天,浏览器的环境已经今非昔比了。Chrome 成为全球最普遍的浏览器,除了世界上少数几个地区之外,Google 成了台式机和移动设备上 Web 的守门人,大多安卓手机中也预装了该浏览器,而且作为 Chrome OSUI 层,也是 Google 进军台式机和平板电脑操作系统的垫脚石。当初那个前卫且符合标准的浏览器,现在却成了一个庞大的平台,雄踞在整个现代计算机领域。

虽然 Chrome 浏览器本身非开源,但其内部大部分子模块都是开源的,其中就包括很早及开源了的 Chromium,且使用了非常宽松的开源许可,这算是实现了对开放 Web 社区的承诺。

作为一款功能齐全的浏览器,Chromium 在 Linux 用户中广受欢迎;作为一个开源项目,它在开源生态系统中备受关注,经常作为其他浏览器和应用程序的基础。

Chrome 和 Chromium 都运行了 Blink,2003 年 Google 对苹果主导的项目很不满意,于是开始使用这个渲染引擎作为 WebKit 的分支。从那以后 Blink 得到了持续的发展,当微软也开始在 Edge 浏览器中使用 Blink 后,其流行程度更是水涨船高。

Chrome 平台的出现彻底改变了 Web。在过去五年中,Web 技术在桌面软件开发中的应用出现了前所未有的增长,Github 的 Electron 等项目横扫了所有主要的桌面操作系统,成为跨平台应用程序的实际标准。虽然与 Windows 和 macOS 相比,Chrome 操作系统仍然比较小,但其所获得的关注度和市场份额都在持续增长。

Chrome 渐渐无处不在,这可不是个好兆头。

01 不作恶

Chrome 的主导地位对 Web 这一个开放平台造成了极其不利影响:开发人员越来越不愿意在其他浏览器中做测试或是修复程序的 bug。只要功能在 Chrome 正常工作,就可以发布了。

这导致更多用户涌入 Chrome,因为其他浏览器无法正常运行他们喜爱的网站和应用程序,这反过来导致开发人员不太可能花时间在其他浏览器上进行测试。这是一个恶性循环,如果不打破这个循环,那么最终大多数其他的浏览器都将在无声无息中消亡。那么又何来开放的网络呢?

在推广这种单一浏览器的文化方面,Google 可谓头号“功臣”。当你在 Chrome 生态系统之外使用 Google 的应用和服务时,会发现质量垃圾和设计选匪夷所思的问题只不过是冰山一角。

更糟糕的是,用户的不满通通都落到了其他供应商身上,说他们“拖网络发展的后腿”。Web 现在成了 Google 的地盘,要么你按照他们的方式行事,要么就会被嘲落伍。

没有健康和平衡的竞争,任何开放平台都将退化为某种形式的企业控制。对于 Web 而言,这意味着随着 Chrome 市场份额的不断扩张,其最强大的卖点(自由和普遍的访问)也被一点点侵蚀了。仅此一点便值得我们去关注,但是,如果再考虑一下 Google 的商业模式,就会发现情况又出现了可怕的转变。

任何企业的存在理由都是为了赚钱,让股东高兴。如果增长的需要恰好与善意相符,那么善意就可以成为竞争优势;如果不符合,那么公关和营销部门就会出马了。当 Google 的成长与让 Web 更加开放和易于访问的目的一致时,Google 的宗旨“不作恶”就非常当非常符合形势需要。

可叹,今非昔比了。

Google 的发展重点逐渐转向将他们的浏览器的主导地位转变为业务增长,而且 Google 的业务恰好是搜索引擎广告和网站广告,其他业务仅占该公司年收入的 10%。这本身并不是问题,但当浏览器、搜索引擎和在线服务之间的界限越来越模糊时,问题就出现了,而且还是一个很大的问题。

成功的企业都会利用其竞争优势。人一旦无所顾忌就会肆意妄为,当浏览器强制你登录、增设你无法删除的 Cookie,并试图取消广告拦截和隐私权扩展,那么情况就十分糟糕了。

更重要的是,考虑一下每个网站至少包含一段代码,这些代码可以通过 ping Google 的服务来跟踪访问者,并向他们推送广告或提供自定义的字体。

从理论上讲,如果这家公司在处理个人数据方面有良好的记录,那么这些不法行为可能会被忽视。然而,事实上从制度上讲 Google 确乎令人毛骨悚然,他们已无法自拔。你可能认为你的个人数据不属于任何人,但他们似乎并不这样认为。

Google 的商业模式需要稳定的数据流,以便进行分析并投放定位广告。因此,不论他们做什么,最终都会指向扩大用户群和增加用户在其产品上消耗的时间。即使个人计算转向了移动,Chrome 依然是 Google 数据汇总机制的重要组成部分。

你访问过的网站和搜索过的关键字都会被跟踪,并用于提供更“个性化”的体验。如果浏览器和搜索引擎之间没有明确的界限,那么根本没有办法跟踪哪些信息被谁收集了。最终,我们不得不妥协并按照 Google 的产品设计师和工程师希望的方式生活。

简而言之,事实多次证明 Google 根本不在乎最终用户。他们当下以及将来的首要任务依然是广告商的利益。

02 展望未来

以用户为中心的良性竞争为我们带来了计算机诞生以来最好的产品和体验。Chrome 占据了 60% 的浏览器市场份额,Chromium 在所有三个主要平台上都试图“染指”桌面计算,我们过于信任一家公司和生态系统,但这个生态系统似乎并不关心性能、用户体验、隐私,或推动计算的发展。

但我们还有时间扭转局面。十年前我们就这样做了,如今我们可以再来一次。

Mozilla 和苹果在追赶 Chrome 早期扩大的 Web 标准差距方面都做得非常出色。他们在性能、电池消耗、隐私和安全等方面甚至领先于 Chrome。

如果你不得不使用无法在其他浏览器引擎上运行的 Google 服务,或你的工作依赖于 Chrome 开发工具,那么可以考虑使用 Vivaldi2。虽然这不是最理想的做法,因为 Chromium 仍然是 Google 的产品,但总归是朝着正确的方向迈出了一步。支持较小的供应商以及促进浏览器多样性对于扭转或至少减缓 Chrome 的不健康增长至关重要。

自 2014 年以来我就没有使用过 Chrome,而且我永远不会回头。即使没有了 Chrome,我们的日子也能过得很好。

你可能喜欢这个浏览器,你可能不介意在隐私方面做出妥协,但因此而付出的代价远高于我们个人的偏好和亲疏关系,整个平台即将成为另一个有围墙的花园。我们已经经历过这样的痛苦。因此,让我们竭尽所能来防止这种情况再次发生。

原文:

https://redalemeden.com/blog/2019/we-need-chrome-no-more

本文转自公众号“CSDN”,ID:CSDNnews

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go: Gin框架中的binding验证器使用指南
在Gin框架中,数据绑定和验证是开发API时不可或缺的部分。Gin提供了强大的binding功能,允许我们将请求的数据绑定到结构体,并通过标签进行数据验证。本文将详细讲解如何在Gin中使用binding验证器进行数据验证,并提供代码示例帮助理解。
运维开发王义杰
2024/05/31
1.6K0
Go: Gin框架中的binding验证器使用指南
boss: 这小子还不会使用validator库进行数据校验,开了~~~
哈喽,大家好,我是asong。这是我的第十篇原创文章。这周在公司做项目,在做API部分开发时,需要对请求参数的校验,防止用户的恶意请求。例如日期格式,用户年龄,性别等必须是正常的值,不能随意设置。最开始在做这一部分的时候,我采用老方法,自己编写参数检验方法,统一进行参数验证。后来在同事CR的时候,说GIN有更好的参数检验方法,gin框架使用github.com/go-playground/validator进行参数校验,我们只需要在定义结构体时使用binding或validatetag标识相关校验规则,就可以进行参数校验了,很方便。相信也有很多小伙伴不知道这个功能,今天就来介绍一下这部分。
Golang梦工厂
2022/07/07
8090
golang之数据验证validator
在web应用中经常会遇到数据验证问题,普通的验证方法比较繁琐,这里介绍一个使用比较多的包validator。
孤烟
2020/09/27
1.8K0
如何在Go语言中实现表单验证?整一个validator吧!
文章链接:https://cloud.tencent.com/developer/article/2467471
南山竹
2024/11/20
2750
如何在Go语言中实现表单验证?整一个validator吧!
golang 如何验证struct字段的数据格式
假设我们有如下结构体: type User struct { Id int Name string Bio string Email string } 我们需要对结构体内的字段进行验证合法性: ▪ Id的值在某一个范围内。 ▪ Name的长度在某一个范围内。 ▪ Email格式正确。 我们可能会这么写: user := User{ Id: 0, Name: "superlongstring",
李海彬
2018/03/19
3.1K0
golang 如何验证struct字段的数据格式
Go Gin框架请求自动验证和数据绑定,看完这篇就会用了
之前做项目基本上公司是用 gRPC 和 echo 这两个框架的组合,后来 Gin 框架在Go圈越来越流行,陆续我在公司接触到的项目也开始有人用 Gin 框架开发了。
KevinYan
2023/01/03
3.6K0
Go Gin框架请求自动验证和数据绑定,看完这篇就会用了
Go 语言 Mock 实践
Mock 是软件测试中的一项关键技术,尤其在单元测试领域,可谓是“顶梁柱”般的存在,几乎不可或缺。它通过模拟真实对象的行为,使我们能在不依赖外部系统的情况下,专注测试代码的核心逻辑。对于测试开发、自动化测试,乃至性能测试中的某些场景,合理使用 Mock,不仅能提升测试效率,还能极大地增强测试的稳定性与可控性。
FunTester
2025/04/23
1850
Go 语言 Mock 实践
解锁 Java 日期时间转换的正确姿势
在处理遗留系统时,软件测试工程师常常需要在 java.sql.Timestamp 和 java.time.ZonedDateTime 之间进行日期时间的相互转换。这一过程对于确保应用程序与数据库或其他外部系统之间的时间字段能够准确传递和解析至关重要。
FunTester
2025/06/07
2700
解锁 Java 日期时间转换的正确姿势
Go 每日一库之 ozzo-validation
ozzo-validation是一个非常强大的,灵活的数据校验库。与其他基于 struct tag 的数据校验库不同,ozzo-validation认为 struct tag 在使用过程中比较容易出错。因为 struct tag 本质上就是字符串,完全基于字符串的解析,无法利用语言的静态检查机制,很容易在不知不觉中写错而不易察觉,实际代码中出现错误也很难排查。
用户7731323
2021/06/25
1K0
echo 源码分析(validator)
所以我们可以包装一下go-playground/validator来实现echo的validator
golangLeetcode
2022/08/02
1K0
echo 源码分析(validator)
Golang 语言的值验证库 Validator 怎么使用?
Validator 是基于 tag(标记)实现结构体和单个字段的值验证库,它包含以下功能:
frank.
2021/01/08
3.3K0
Go结构体标签
通过 reflect.Type 获取结构体成员信息 reflect.StructField 结构中的 Tag 被称为结构体标签(Struct Tag)。结构体标签是对结构体字段的额外信息标签。 Tag是结构体在编译阶段关联到成员的元信息字符串,在运行的时候通过反射的机制读取出来。 结构体标签由一个或多个键值对组成。键与值使用冒号分隔,值用双引号括起来。键值对之间使用一个空格分隔,具体的格式如下:
IT工作者
2023/06/02
1.6K0
Spring MVC-07循序渐进之验证器 上 (Spring自带的验证框架)
Converter和Formatter作用域Field级。 在MVC应用程序中,它们将String转换或者格式化成另外一种Java类型,比如java.util.Date.
小小工匠
2021/08/17
7630
「Go框架」深入解析gin中使用validator包对请求体进行验证
在下面这个示例中,定义了一个User结构体,该结构体中有3个字段:FirstName、LastName和Email。同时定义了一个校验函数 UserStructLevelValidation ,该函数对User结构体中的字段进行了校验。如下:
Go学堂
2023/08/28
1K0
「Go框架」深入解析gin中使用validator包对请求体进行验证
Go 测试不迷路:单元测试与集成测试详解
在软件开发中,测试是确保代码质量、逻辑正确的重要环节,它就像给系统装上了一道安全网,防止上线后出现意外。Go 语言以其简洁高效的特性,内置了强大的测试支持,让开发者能够轻松编写和运行测试。本文将深入讲解 Go 中的单元测试和集成测试,结合实际场景,帮助软件测试工程师(包括测试开发、性能测试、混沌工程等领域人员)构建更健壮的系统。
FunTester
2025/07/16
2010
Go 测试不迷路:单元测试与集成测试详解
JSON Schema
JSON 作为通用的前后端交互,或者后台服务间通信的通用格式被大家广泛使用。我们肯定遇到过一些场景需要校验调用方传递过来的数据格式,比如一定要包含某些字段,某个字段一定要符合某种格式,比如定义了价格的字段,范围一定要在100~200之间,协议字段一定要是TCP或者UDP等枚举类型。你是否在你的用户代码里面自行实现这些判断逻辑呢?如果这样的规则越来越多是不是会显得代码很臃肿呢?这就是为什么要介绍我们今天的主角JSON Schema。JSON Schema定义了JSON格式的规范,各种语言都有开源的第三方JSON Schema校验库,例如Go语言的gojsonschema,这样我们就可以定义一份JSON Schema,然后系统的各个模块都可以复用这套JSON规范,不满足规则的数据JSON Schema会直接报错。
用户2937493
2019/11/12
2.8K0
聊聊自动化测试用例维护成本高应对策略
项目中的开发团队对接口进行重构后,涉及到的自动化测试用例出现大面积“报红”,测试团队需要花费大量时间进行更新。参数化不足导致每次业务规则微调整修改几十个脚本。
漫谈测试
2025/07/02
1150
聊聊自动化测试用例维护成本高应对策略
Go中最常用的数据校验库
项目地址: github.com/go-playground/validator/v10
fliter
2024/02/26
4940
Go中最常用的数据校验库
测试自动化在故障测试中应用
自动化线程转储为测试工程师提供了高效的故障排查手段,而其背后的自动化理念和工具链(如 Fabric8、Kubernetes API 等)可以进一步拓展到其他测试场景。这些场景覆盖了自动化测试、性能测试、混沌工程以及故障诊断等多个领域,能够显著提升测试效率和系统可靠性。以下详细探讨几种可拓展的自动化场景,结合实际案例和知识扩展,帮助测试工程师挖掘更多潜力。
FunTester
2025/06/07
1430
测试自动化在故障测试中应用
gin中validator模块的源码分析
众所周知,在api层需要使用gin.Context中的ShouldBindJSON方法来对request中的json字段进行校验,例子如下:
编程黑洞
2023/03/06
4670
推荐阅读
相关推荐
Go: Gin框架中的binding验证器使用指南
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档