【转】chromium垄断背后的阳谋论

chromium 之 ipc (mojo) 消息机制 Mojo chromium 中的 ipc(进程间通信) 采用 mojo,使用双向的消息管道,每个终结点都有一个传入消息队列,并在一个终结点上写入消息,有效地将该消息排队到另一个 (对等 ) 终结点上。 通过 mojom 文件来描述并记录接口 Amojomfile describesinterfaces, which are strongly-typed collections ofmessages. Each interface message is roughly analogous to a... 阅读详情

chrome的垄断,就是种阳谋。chrome靠的是什么称霸浏览器市场?看起来是靠的免费开源好用(严格来说是chromium开源),但实际背后是巨量的资金砸入。可以算个帐,chrome的开发者,现在至少有上千名了吧。我们假设有1000名开发者(实际上还没算非程序员的人员构成),每年工资每人按100w人民币来算,一年就是10亿人民币了,而chrome做了10多年,那砸入的就是超百亿的资金。试问,哪家公司敢投入这么大的天量资金来做一款浏览器?

别的不说,就连财大气粗的微软最后都扛不住不得不认输,果断把edge换成chromium内核。这其实就传达了一种信息,强如微软,也不能在产品品质上,靠砸钱去超越谷歌……那就更别说其他的小厂家了。

关键是这种行为你还不能说谷歌无耻。谷歌明摆着把代码开源出来,而且也是你们这些第三方厂家自己选择用chromium的内核,一切都是阳谋,没人逼你。但实际上背后是谷歌靠着天量的资金,用类似“倾销”的手段,挤垮别的竞争对手。想想如果是实体行业,倾销是什么,就是用远低于成本价的方式,低价销售产品,直到把对手打垮。只不过在软件行业,类似这种开源免费的策略,天生就有种正义感,还没法在道德层面反驳……

这就带来一种后果:到了最后,几乎可以肯定,只有chromium能活下来。有人会说firefox,但看下firefox的现况,基本上可以用苟延残喘来形容。最近还听到大幅裁员的消息。而谷歌在看到周围已经毫无挑战者的时候,就越发放肆起来。先不说最近几个版本chrome搞出那个恶心的地址栏去掉https、www(这操作搞的我每次看到的地址栏是一个字符串,点击地址栏又是另一个字符串,光标跳来跳去,实在恶心);chromium的代码虽然号称开源,但他里面所有组件,几乎都是耦合在一起。你用了chromium的代码,就得捏着鼻子带上他全套。对比下webkit这种良心开源,大部分组件都是可以拆卸的,随时可以通过宏,删减某个功能,还能做一个port。chromium行吗?比如,你能把里面图形库skia换掉么?从技术层面,能,但从工程层面,万万不能。skia早就和chromium的方方面面深度绑定了。想分离出来,累死你。类似的,里面什么mojo、v8,都是深度绑定。

想到这里,我知道肯定有人又会说,我也想用其他浏览器,但其他实在没什么选择了。其实这还是回到问题的最开始。chrome就是靠着“低级倾销”的手段打垮了别的浏览器,大家才没得选择。所以不光是因为没得选,chrome才称霸,而且是chrome称霸了,大家才没得选……

要知道谷歌的开发团队实在太强大了,你如果重新开发内核,这个基本上不可能。工作量大到离谱;就算你拿chromium换皮,由于chromium的更新速度太快,几十个人的小团队还是很难跟上chromium原版的更新速度。我以前在QQ浏览器、微信x5内核的时候,开发怎么说也有30多号人,结果就是一到两年才能升级一次chromium大版本。想时刻跟上chromium最新版本?想都别想,工作量太大了。当年微信x5内核被骂是移动端ie6,不是没有原因的……

现在chromium已经是事实上的标准了,不过最近有个小道消息,美国政府据说想拆分chromium和谷歌。这次我是支持美国政府。谷歌一家公司,既掌握操作系统,又掌握浏览器,那大家以后还怎么玩。所有标准制定,没谷歌同意,谁能玩的转?再比如,哪天谷歌突然说,从某个版本起(注意是从某个版本起,以前的版本肯定不会),所有用了chromium内核的浏览器,必须带上他的谷歌搜索,不允许删除这块逻辑。或者用了他的内核的浏览器,不允许对谷歌旗下网站做广告过滤……大家会怎么想?谁敢拒绝吗?就算这些事情现在没发生,但如果失去竞争,谁能保证以后谷歌不会搞出些什么恶心人的操作呢....

有评论说为什么其他基于chromium的浏览器没垄断呢,这不是很明摆的事情么。品牌,渠道,有谁能比原版更有号召力呢。就算从技术角度来讲,如果你没有足够大的开发团队,就算基于chromium,也只是跟在版本后面跑。chromium的版本更新速度太恐怖了,等你改造完一个版本,chromium早就更新了好几个大版本了,你的功能上又落后了。可以这么说,如果你的品牌,渠道,开发团队规模比chromium小太多,那么你的基于chromium的换皮浏览器也只是帮助chromium撑起霸权生态而已。

而且,我看了下大家其他的回答,很多人的态度就是对其他浏览器极尽嘲讽之能事。撇开一些国产浏览器沽名钓誉、各种流氓行为不谈,就算在国外,那些不耍流氓的浏览器,包括换皮的,也非常难以和chrome竞争。请问那些骂其他浏览器很难用的人,用过几个chromium换皮浏览器?在此我也不方便推荐了,以免说做广告。但有些浏览器确实还挺好用的,只是商业渠道上根本没法和chrome、甚至和国产360浏览器什么竞争。

Chromium源码阅读:Mojo实战:从浏览器JS API 到blink实现 这个API是Web标准API,肯定在blink/render下面,简单一搜就找到了:> get(> get(// Cookie Store API的解释器文档链接// 定义一个名为CookieStore的接口,它在ServiceWorker和Window环境中被暴露,Exposed=(ServiceWorker,Window), // 暴露给ServiceWorker和WindowSecureContext // 并且仅在安全上下文中可用(如HTTPS) 阅读详情

相关推荐

Chromium源码阅读:深入理解Mojo框架的设计思想,并掌握其基本用法(1)

节。如果用计算机网络的术语进行类比,那么 Channel 类似于网络协议栈中的 IP 层,它提供了寻址和路由的能力;而 NodeChannel则相当于应用层的协议,例如 UDP,它在更高层次上处理数据的传输和相关逻辑。那么,可以预见,Mojo的应用层概念将围绕Node为核心展开。从上面代码中我们发现,NodeChannel中有个重要的嵌入类:Delegate。

hebhljdx的博客 2440

chromium Mojo (译)

chromium官网对mojo的描述,地址如下,英语不太好,所以进行进行翻译如下: https://chromium.googlesource.com/chromium/src.git/+/51.0.2704.48/docs/mojo_in_chromium.md。 Chromium的Mojo 本文档旨在用作Chromium开发人员的Mojo入门。 假定没有Mojo的相关认知。 目录 我应该读这个吗? 为什么选择Mojo? Mojo概述 消息管道 Mojom 绑定管道 回应请求

木希博客 2659

深入解析 Chromium Mojo IPC:跨进程通信原理与源码实战

本文深入解析Chromium浏览器中的Mojo IPC机制,这一高性能跨进程通信框架支撑着现代浏览器多进程架构的运行。文章从Mojo的五个核心概念(MessagePipe、Handle、Interface、Receiver/Remote、Bindings)切入,详细剖析了其数据流、线程模型和异步机制。通过源码分析展示了MessagePipe的底层实现、SimpleWatcher的事件监听机制,以及接口自动生成类的运作原理。最后提供了实战示例和性能优化建议,包括使用SharedBuffer减少拷贝、合理绑定线

John_ToStr的博客 2043

Chromium Mojo通信

一个MessagePipe中有一对handle,分别是handle0和handle1,向其中一个handle写的数据可以从另外一个handle读出来,这是前面已经说过的,如果把其中的一个handle发送到另外一个进程,这一对handle之间依然能够相互收发数据。Mojo提供了多种方法来发送handle到其他的进程,其中最简单的是使用 Invitation。初始化Mojo有两种方式,一种适用于静态链接Mojo的程序,一种适用于动态链接Mojo的程序。以下是静态链接时的初始化方法,动态链接时只需要把。

u010843299的博客 851

Chromium Viz 浅析 - SkiaRenderer & SkiaOutputSurface

稿件来源:阿里云开发者社区 Chromium 关于光栅化和合成的一些主要性能优化项目包括 OOPD (Out of Process Display Compositor,进程外 Display 合成器), OOPR (Out of Process Rasterization,进程外光栅化) 和 SkiaRenderer。 我们在Chromium Viz 浅析 - 合成器架构篇介绍过...

weixin_40050195的博客 3198

chromium通信系统-ipcz系统(四)-ipcz-分层、和mojo的关系以及handle

ipcz driver层对应的对象基类为ObjectBase,ObjectBase 提供的方法包括: type方法返回对象的类型,FromHandle() 和 TakeFromHandle() 方法用于将IpczHandle() 转化为具体对象。ipcz层对应的对象基类为APIObject,APIObject 提供四个方法,FromHandle() 和 TakeFromHandle() 方法用于将IpczHandle() 转化为具体对象。系统层面的实现,主要是对Socket文件描述的包装。

woai110120130的专栏 1986

Chromium 内核为何能统治浏览器世界?

本文深入剖析Chromium内核在2026年浏览器市场中占据约86%份额的核心优势。从Blink与V8引擎的极致性能优化、多进程架构的安全稳定性,到BSD开源协议带来的生态红利,再到跨平台能力与Web标准制定权,全方位解读Chromium如何碾压Gecko、WebKit等竞争对手。同时对比Firefox、Safari等独立内核浏览器的现状,揭示Chromium通过技术实力与商业投入构建的"阳谋"护城河,为读者呈现一个完整的技术统治逻辑。

Frag0ut的博客 184

Arduino+esp8266+blinker物联网开发

文章目录blinker点灯一.简介二.开发环境的搭建1.arduino的安装2.添加esp8266开发板3. blinker库的导入4.驱动的安装4.手机端安装app三.开发第一个点灯程序1.添加设备2.载入示例3.代码部分4.代码讲解5.程序烧写四.总结 blinker点灯 一.简介 为了加深为物联网知识的认识,今天就教大家如何用手机app来控制我们的开发板。我们的开发环境是以arduino I...

weixin_45631738的博客 3万+

chrome-mojo 概述

Broker提供介绍机制(Introduce)帮助一对node建立IPC链接broker是个特殊的node channel,规定只有它能introduce(通过调用的能力找到两个node)并发送Introduce message,这就要求broker需要跟每个node都有链接node与node之间一开始只有IPC点对点通信,假如要发给另一个node,但是和当前node之间没有直接的IPC,则需要通过broker建立一个新的IPC通道,消息就是这个过程.

LIJIWEI0611的博客 2318

Unity工业数据可视化:基于ModbusTCP的实时数据通信实战

本文详细介绍了在Unity中实现工业数据可视化的核心方法,重点讲解了基于ModbusTCP协议与PLC等工业设备进行实时数据通信的实战流程。内容涵盖NModbus库的集成、Modbus Slave模拟器的使用、TCP连接的建立与多线程安全通信、数据读写与解析,以及如何将实时数据驱动3D场景,为构建工业数字孪生与监控系统提供完整解决方案。

ol7890123的博客 555

H.264 入门篇 - 09 (帧间预测 - 参考帧列表)

短期和长期的关系和区别:在一个解码器中的 DPB(参考帧缓存)大小总是有限的,所以引入一个问题,什么样的参考帧会被保存到 DPB 中,什么样的参考帧会被移除出去,因此将分为长期和短期参考帧,所谓短期参考帧是这帧不会长期驻留在DPB中,如果参考帧缓存已满或者有其他特定的条件,那么短期参考帧就会被从DPB中移除;与之相对的长期参考帧,只要没有遇到某个指定的条件,遇到某个IDR帧, 遇到了清空整个DPB的指令等等,那么长期参考帧会长期在DPB中,不会因为有新的参考帧而被冲刷掉;(P帧是按照编码顺序)

StephenZhou 5104

Chromium 浏览器通信演进:从 IPC 到 Mojo 的替换实践

摘要:现代浏览器采用多进程架构实现稳定性与安全性,传统IPC机制在扩展性、性能和安全方面存在不足。Chromium团队开发的Mojo框架通过类型安全接口、自动序列化和权限控制等特性,逐步取代传统IPC。替换过程采用渐进策略,优先迁移高频通信模块,并通过编译验证、性能测试确保兼容性和优化效果。Mojo的引入提升了浏览器多进程通信效率,为未来更复杂的安全沙箱和多进程协作奠定了基础。

John_ToStr的博客 885

WinForm轻松打造AntDesign现代化工具栏

摘要: 本文介绍如何在WinForm中利用AntdUI库实现AntDesign风格工具栏,包括安装配置、动态生成按钮/下拉菜单、布局优化及主题美化。通过AntButton、AntDropdown等控件结合事件绑定,可快速构建支持图标、工具提示、权限控制的现代化工具栏,并解决常见图标加载、布局错乱问题。最后提供代码示例与响应式设计技巧,助你打造高效美观的WinForm界面。 (字数:150)

java专栏 1595

chromium mojo 快速入门

术语: 消息管道:是一组端点. 每个endpoint有一个接受消息的队列, 在一个端点上写消息会高效地放入对端端点的消息队列上。所以消息管道是双工通信的。 mojom文件:描述了接口,它们描述了类似proto files的强类型消息结构,通过binding generator可以产生对应于不同语言的文件。 给定一个mojom interface和一条message pipe, 它的两个端点可...

tornmy的博客 1万+

全球SAR卫星大盘点与回波数据处理专栏目录

本专栏将详细介绍各国各地区的SAR卫星的特点和性能,以及SAR回波数据的处理方法和技巧。主要介绍民用和商用SAR卫星,帮助你了解商业SAR卫星的最新动态和技术,MATLAB代码将全部开源。以下是专栏目录,持续更新中。

3166

国网DLT698.45协议——采集系统、数据交换(三)

物理层规定了通信单元或其他终端设备与多功能电表的通信接口,接口的物理与电气特性。常见的物理层传输方式有对于RS485、红外、载波通信等通信信道。将数据包装成可传输的帧格式。1、根据通信配置参数完成端口的初始化配置,通信状态初始化为准备接收状态,初始化相关计数器及缓冲区指针。2、链路层及控制子模块负责通信数据的收发控制,各类超时问题的处理。无通信数据接收时,定时初始化通信端口。3、完成协议帧的解析及应答。

一个bug是bug,多个bug能work 8052

Chromium浏览器media子系统mojo说明

Chromium浏览器media子系统mojo说明

David的博客 1687

74.9008深度刷机原理|高通QPST/Firehose底层刷写协议详解

移动设备刷机与底层维修技术指南 本文为移动设备维修人员和高级玩家提供全面的刷机与底层维修技术指南,涵盖高通、联发科和苹果A系列芯片的主要操作。 主要内容 核心操作:Bootloader解锁、Fastboot刷写、EDL深度修复、iTunes DFU模式恢复和分区表重建 适用场景:系统故障修复、底层损坏恢复、安全限制解除、系统降级和深度硬件维修 关键技术:详细解析刷机协议栈层级、关键分区作用和刷机安全机制 操作步骤: 环境搭建与驱动安装 Bootloader解锁(以小米为例) 高通机型系统刷写 苹果设备DFU

2601_95651806的博客 205

chromium的图形和skia(Graphics and skia)

描述了skia在chromium的图形功能中的使用情况,它和其它功能模块的交互情形,以及几个重要的接口

flyonok的专栏 4440

【C# + HALCON 机器视觉】HALCON经典算子:光流法运动分析(optical_flow_mg)

摘要:本文面向智能监控人流统计需求,研究C#与HALCON集成开发中optical_flow_mg算子的应用。通过RTSP获取视频流,利用光流法计算运动矢量,结合形态学操作与区域筛选实现行人区域分割,最终完成人流量统计与热力图可视化。详细阐述ROI局部处理等性能优化策略、try-catch异常捕获机制及跨平台集成方案。实验表明,该系统检测准确率达93.6%,单帧处理时间42ms,为公共场所人流量统计提供了完整可行的技术方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1445

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

chromium Mojo介绍

IPC,全称Inter-Process Communication,字面意思就是进程间通信或者跨进程通信。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。安卓的IPC通信还多了Bundle。对此部分有兴趣的可以看看如下的博客:https://blog.youkuaiyun.com/LEON1741/article/details/77934508,对Linux的IP...

木希博客 2579

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Chromium Mojo(IPC)进程通信演示 c++(1)

本文演示了通过mojo::IncomingInvitation进行通信的完整例子,仅供参考,mojo基础和原理参考官网介绍。

杰克东的专栏 2088

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Chromium源码学习(1)—— 拉取源码,编译

Chromium项目于2008年发布,作为Google Chrome浏览器的开源部分。Google的Chrome浏览器基于Chromium开发,但添加了Google品牌、自动更新、内置Flash播放器、PDF阅读器等一些闭源的功能和服务。除了Chorm,近几年微软大火的Edge浏览器也是基于Chromium进行开发的。Chromium开源项目有活跃的社区和丰富的学习资源,官方也有详细的开发者文档,涵盖了从环境设置到代码贡献的各个方面。Chromium官方网站。

FBI_BAIGOU的博客 4734

Chromium Mojo(IPC)进程通信演示 c++(2)

1、02-mojo-browser.exe 与02-mojo-renderer.exe通过mojo::OutgoingInvitation模式建立链接。2、02-mojo-browser.exe通过GetAssociatedInterface接口获取02-mojo-renderer.exe进程对应的ObjectA和ObjectB接口,并且调用其方法DoA(),DoB()。更多细节读者自行参考源码。

杰克东的专栏 1511

Skia 图形引擎介绍

Skia 通过统一的 2D 图形抽象层,平衡了跨平台适配与渲染性能,成为 Flutter 等框架的核心支柱。尽管在极端场景下可能略逊于原生优化,但其灵活性、一致性和开源生态使其成为现代跨平台开发的首选图形引擎。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

江上清风山间明月的博客 3542

Chromium包含的内容(引擎)

Chromium包含了绘制引擎和JavaScript解释引擎。

qq_43478653的博客 820
上一篇: 虚幻引擎的像素流技术:边缘计算与RTC架构的设计思路
下一篇: 虚幻引擎之动态贴花
xosg
xosg 领域专家: 网络协议与安全技术领域 领域专家: 网络协议与安全技术领域
博客等级 码龄9年 1986粉丝 864原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值