很久没有碰浏览器了,我决定从头开始写一个浏览器硬刚 Google Chrome

coolwulf 2026-08-24 09:21 1

二十年前我写了一个浏览器 K-MeleonCCF ,基于的是 Mozilla 的 Gecko 浏览器,这还是在 Mozilla 正式发布 Firefox 之前。当时他们的正式浏览器还只是 Mozilla Suites


我还记得当时在浏览器上工作的动力是打破微软 IE 的浏览器垄断。


一晃二十年过去了,IE 的浏览器垄断早就没有了,但结果回来一看,浏览器还是存在着垄断,只是现在的垄断者从微软变成了谷歌。Firefox 逐年式微,市场份额一点点被馋食。


我当然也很久没有碰过浏览器了。


大概一年多前,我接触了 zig 编程语言,这个语言对于性能的追求让我很有感慨,心想如果用 zig 来编写一个浏览器引擎会否有可能。


当时只是一个想法,我决定花一点点时间来写一点 Proof of concept. 然后根据这个 PoC 来结合我的 cwcode 来作快捷开发,看看是否有可能把这个东西写出来一个能用的东西。


一年很快就过了,回头看看这个东西还是有很多的问题,真正到能用还有一段路程,但我想把这个项目正式公开出来,让所有人知道即使是到了现在 modern web 如此复杂的阶段,也是有可能重新写出一个 Rendering 引擎的.


第一个编译的版本是基于 ARM macos 的,主要是因为我自己的开发平台是 Mac. 当然这个浏览器引擎是无关 OS 的,今后我会公布 Windows , Linux 的版本.


你可以从这里下载和尝试 https://code.intellios.ai/cwbrowser/

最新回复 (93)
  • coolwulf 楼主 08-24 09:26
    1
    截图:
  • coolwulf 楼主 08-24 09:27
    2
    内置支持广告过滤:
  • andforce 08-24 09:28
    3
    看起来很牛逼,实际使用场景约等于 0 吧?
  • coolwulf 楼主 08-24 09:29
    4
    当前大概可以支持 70% 左右的网页,离真正的可以替代 Chrome 浏览器的水平还相去甚远。所以大家在使用中会碰到很多网页还无法正常 render 的问题,或者是奔溃,这里很抱歉,因为还只是一个 pre-alpha 的版本
  • coolwulf 楼主 08-24 09:29
    5
    @andforce 是的,没错
  • ninjaJ 08-24 09:30
    6
    和现在的浏览器相比,定位和设计有什么区别呢?用户不关心你用什么技术栈。
  • coolwulf 楼主 08-24 09:35
    7
    @ninjaJ 这还不是我考虑的问题,当前只是看“能不能写出来”
  • aukw 08-24 09:35
    8
    我是 mac intel 架构,考虑支持吗?
  • Lockroach 08-24 09:40
    9
    自己写的还是 ai vibe 的?前者那是真牛逼
  • ntdll 08-24 09:45
    10
    @ninjaJ #6 我认为积极意义还是有的,不少受限的环境,比如工控,嵌入式等,难以塞下、运行一个完整的 Chrome 。

    因此 OP 这种哪怕有点瑕疵,但是在性能受限,存储受限等情况下,能提供一个 70%功能的解决方案,仍然有很大的意义。

    过去很长一段时间,专业领域的不少设备显示图形化,还得 C/C++自己手搓,能用上 QT 都可以烧高香了。
  • momo1999 08-24 09:51
    11
    怎么不用 rust 写
  • kasusa 08-24 09:56
    12
    浏览器这么大的工程也是一个人能干的吗
    现在浏览器的功能特性已经不是 20 年前的了。
  • kiolygenius 08-24 09:59
    13
    K-Meleon 之前还真用过
  • TonyMontana 08-24 10:05
    14
    @momo1999 大神说白了写这种项目主要还是为了自己写的爽,手动管理内存当然成就感来的更强
  • shisang 08-24 10:10
    15
    应该 google chrome 我觉得没多大意义,但是如果你能把 electron 内置的 chromium 缩小一半大小,这将是一个革命性的东西
  • scarlex 08-24 10:15
    16
    chrome devtools 呢
  • coolwulf 楼主 08-24 10:20
    17
    @momo1999 Rust 已经有 Servo 了,所以我不想碰
  • coolwulf 楼主 08-24 10:20
    18
    @Lockroach Poc 基本是手搓的,然后就是用 cwcode + 不同的模型来 pair programming
  • coolwulf 楼主 08-24 10:21
    19
    @scarlex Not yet
  • coolwulf 楼主 08-24 10:21
    20
    @shisang 你可以下载看我现在程序的大小
  • coolwulf 楼主 08-24 10:22
    21
    @kiolygenius 可惜最新的 KM 已经用不了 Firefox 最新的 Gecko 内核了,很遗憾
  • caola 08-24 10:27
    22
    可以尝试用华为的仓颉语言写一个,全面国产化,

    有可能会得到上面的关注,和更多的合规化的企业或个人开发者加入
  • nanyancc 08-24 10:27
    23
    是个庞大的工程,表达一下支持
  • coolwulf 楼主 08-24 10:30
    24
    @caola 很抱歉,我个人对于华为的东西缺少好感
  • coolwulf 楼主 08-24 10:33
    25
    稍微说明一下,当前 from scratch 的是 rendering engine, 基于 zig. 我暂时还是使用 V8 JS VM 来处理 javascript. 等到这个 rendering engine 对于 css / layout 的解析稳定之后我会考虑 tackle JS VM 的问题
  • qxdo1234 08-24 10:35
    26
    支持一下,也有想过从头写一个,但研究了一下 难度太高,不是我能 handle 得了,网上有个大佬有写过一个自己的浏览器内核,可以借鉴一下思路,https://zhuanlan.zhihu.com/p/29101613
  • coolwulf 楼主 08-24 10:35
    27
    V2ex 的解析效果:
  • coolwulf 楼主 08-24 10:38
    28
    解析这个帖子的效果:
  • beanMilk 08-24 10:47
    29
    赞,just for fun
  • htfcuddles 08-24 10:54
    30
    有开源计划么
  • Copiapoa 08-24 10:54
    31
    非常赞的工作,我觉得非常有意义!
    另外,op 已经表明了属于概念性验证 Proof of concept ,还有部分沙雕在下面“实际使用场景约等于 0”、“用户不关心你用什么技术栈”,真是蠢到家了不识字是吧
  • jollywang 08-24 10:57
    32
    google 做浏览器好歹目的是为了让 web 更好(当然更好了就可以卖广告了), 而 ie/safari 则是卡位让更多人去开发 app, 天然的就是负反馈的
  • zhmouV2 08-24 10:59
    33
    百度首页:
    https://imgur.com/a/6jCHZjq

    另外 acid3 是个比较老的测试标准了,html5test.co 按照支持特性打分目前是 381 / 588
  • xylxAdai 08-24 11:01
    34
    chromium 是开源的。谈何垄断?
  • coolwulf 楼主 08-24 11:03
    35
    @jollywang Chrome 现在搞得 ublock origin 都用不了了
  • coolwulf 楼主 08-24 11:04
    36
    @xylxAdai 你看下基于 chromium 内核所有浏览器的市场占有,不是垄断是什么,和是否开源并没有关系,何况 Chrome 本身是不开源的,开源的只是 Chromium.
  • zwyyy456 08-24 11:15
    37
    @xylxAdai 开源不代表不垄断啊,开发方向完全是谷歌把控的
  • Zcyisabigman 08-24 11:22
    38
    突然想到很多年前有个轻量级的世界之窗
  • feikeq 08-24 11:23
    39
    特意来点赞,等新的垄断出现。
  • noqwerty 08-24 11:27
    40
    是之前那位做肿瘤图像识别的老哥啊,支持一下🙏
  • kirbyzhu 08-24 11:29
    41
    @Zcyisabigman 世界之窗我印象里面也是套壳的吧
  • abolast 08-24 11:34
    42
    你这属于炫技~
  • molvqingtai 08-24 11:35
    43
    这是真大佬,建议 AI Native 的浏览器,因为现在的使用 AI 跑浏览器测试/调试对于 AI 来说不太友好
  • fengbjhqs 08-24 11:38
    44
    @xylxAdai 虽然是开源,但也是现实上的垄断了,
  • lm1368 08-24 11:38
    45
    可以, 对 crud 程序员来说这是难以想象的大工程. 👍
  • coolwulf 楼主 08-24 11:43
    46
    @Zcyisabigman 很怀念,不过当年一堆 IE 套壳的, 不知道还有没有人记得畅游
  • coolwulf 楼主 08-24 11:45
    47
    MyIE, MyIE2, Fantasia ...
  • catlovefishing 08-24 11:50
    48
    无他,楼主牛皮,必须点个赞
  • jadec0der 08-24 11:50
    49
    牛逼 😳 能做出现在 pre alpha 的版本已经很厉害了
  • Rickkkkkkk 08-24 11:52
    50
    真不如去加入 chrome 的团队,写出来的东西还有用呢。
  • coolwulf 楼主 08-24 11:54
    51
    @Rickkkkkkk 我当年的 K-Meleon 合作者 Dorian 在 2008 年加入的 Chrome 团队
  • thEgrEEnfan 08-24 11:55
    52
    @coolwulf #7 致敬!只能说牛逼,很多时候一件事的意义就是“我想试一下”
  • lizhenda 08-24 12:16
    53
    支持,不过把广告过滤直接做到浏览器上是否不太合适呢,插件系统更好吧?
  • overstar 08-24 12:17
    54
    赞,大佬可以试试不登录打开 https://github.com ,真不知道 github 这个首页拉了什么屎,很多自研的浏览器打开都巨卡
  • coolwulf 楼主 08-24 12:21
    55
    @overstar 确实有点卡
  • tianjiyao 08-24 12:49
    56
    支持 OP ,有时候一个伟大的事情总是起于微末之间。。。
  • qxmqh 08-24 13:14
    57
    必须给个赞,我之前还想学习的呢。关注后续。
  • cgpiao 08-24 13:15
    58
    zig 真有真正成为操作系统底层语言的一天吗
    其实蛮有兴趣
  • ashine 08-24 13:16
    59
    现代的浏览器可不仅仅是浏览网页。[浏览器内核代码,为何需要千万行?]( https://www.bilibili.com/video/BV1iagP6PEAF/)
  • daysv 08-24 13:17
    60
    这你写的吗?我当时是忠实用户
  • zhy0216 08-24 13:26
    61
    太强了。。。
  • daysv 08-24 13:26
    62
    看名字就是大佬的写的了, 我还记得这个名字,K-MeleonCCF 资源占用真不错,简洁快速
  • xtreme1 08-24 13:27
    63
    @ashine 59# 此人视频基本都是知乎回答照着念
  • xtreme1 08-24 13:28
    64
    https://www.zhihu.com/question/1998127173828116505
  • allenzhangSB 08-24 13:51
    65
    没看出来哪里硬刚 chrome 的
  • sephay 08-24 13:59
    66
    牛。不过浏览器久而久之垄断的原因主要是兼容性,大多数开发测试都以 chromium 核心为主导,还有国内各种奇葩的刚需政务系统。就像 webp 花了很多年才基本实现浏览器和操作系统兼容,avif 还需要很长时间,浏览器也一样,生态兼容才是难点。
  • nrtEBH 08-24 14:00
    67
    大佬 当年还用过一段
  • abc634 08-24 14:02
    68
    支持楼主,而且我给你找个应用的点。
    对于跨平台应用,现在对我来说只有 zig 和 go ,rust 是不会考虑的,因为对于快速迭代不可接受。
    这种情况下,zig 能用的 html ui 可选项不多,webview2 的跨平台对我来说是灾难,特别是 wayland 下更无法使用。
    这时候有楼主的项目,感觉很美好。zig 可以完整的控制 ui 了!
    加油。
    Servo 的未来不看好,出来那么久了没什么进展(我的印象)。
    另一个浏览器替代是 ladybird ,感觉也是有潜力的(大佬出来做,很多公司投钱,但是没有决策权。)
  • Yjhenan 08-24 14:21
    69
    @andforce 可以作为跨平台 UI 引擎吧?类似与 WebF https://github.com/openwebf/webf
  • 719579 08-24 14:22
    70
    牛逼,建议找一个垂直领域,比如紫鸟在跨境电商领域。
  • NoKey 08-24 14:24
    71
    通篇收到点赞最多的,不是你的东西,而是你说对华为没有好感,有点意思。。。
  • willygeek007 08-24 14:25
    72
    如果不考虑历史兼容包袱,只兼容一些比较通用/新的标准,是不是手搓一个浏览器还算轻松?不是很懂浏览器开发,也期待 op 能解惑一下
  • Rorysky 08-24 14:30
    73
    点进来之前刚想喷,看到 id 想了想,这是大神呀
  • higuoxing 08-24 14:38
    74
    真酷啊!希望早日能跟 chrome 掰手腕
  • everfly 08-24 14:45
    75
    可以考虑开源看看,见证一下 OP 的实力
  • jackOff 08-24 14:48
    76
    说实在的哪怕是有 ai ,我也没看到啥开源项目浏览器能和谷歌这些大厂掰手腕的,支持
  • fang5566 08-24 14:48
    77
    真大佬也,以前也用过 k-meleon ,确实不错,速度比火狐还快,只可惜后来停更了。
  • AK22AK 08-24 14:49
    78
    一名 web 内核从业者陷入了巨大的震惊,这真的太不可思议了。因为一些原因参与过一些想要部分支持 w3c 标准的 web 内核的开发工作,而 op 做的是一个全量版本的浏览器,做了我不敢想的事情,非常钦佩。没有开源不能拜读一下有些遗憾,但也非常非常理解
  • Zcyisabigman 08-24 14:54
    79
    @kirbyzhu 是套壳, 但是它做得特别轻, 没有乱七八糟的东西, 很干净
  • ysmintor 08-24 15:20
    80
    感觉是写了一个浏览器内核?
  • jcharr 08-24 15:38
    81
  • vexw 08-24 15:54
    82
    说起二十年前,我想到了 the world
  • fonlan 08-24 15:57
    83
    搞出个轻量化但自带 webview 内核的框架取代 Electron ?有没有搞头?毕竟 Tauri 这种使用系统 webview 的兼容性不太好,自带 webview 的 Electron 又太重。
  • Rorysky 08-24 15:59
    84
    @coolwulf
    @andforce 不能这么说,如果做的很小巧,在 agent browser 或者 gui 打包方便还是有优势的
  • tideS 08-24 15:59
    85
    光是想想都感觉工作量巨大,大佬牛逼,向大佬学习
  • zhxhwyzh14 08-24 16:16
    86
    支持
  • qingxiangcool 08-24 16:18
    87
    厉害了,膜拜。
  • Vicia 08-24 16:21
    88
    支持 OP 。作为 Presto 内核时代的 Opera 的忠实爱好者,怨念自己没办法做出曾经深爱过的浏览器。看到 OP 的尝试很开心,非常支持!
  • Topmax 08-24 16:24
    89
    支持大佬,很多伟大的工程都是始于微末
  • Orangeee 08-24 17:18
    90
    👍上次硬刚浏览器内核印象最深的是“龙泉寺扫地僧”的 MiniBlink ,向大佬致敬。
  • fan123199 08-24 17:31
    91
    之前说 IE 垄断,是他不思进取不更新,全是旧标准。 现在 chrome 还要被挑战的点是什么呢?
  • shisang 08-24 17:36
    92
    @coolwulf 现在的能塞进 electron 吗?
  • moguiyu 08-24 17:36
    93
    看到标题时:哪个小白又口出狂言;
    看到内容时:和 1 秒钟前的自己划清界限。
* 帖子来源V2EX
返回