当前位置:首页 > 每日看点 > 正文内容

据报道称“浏览器内核有上千万行代码”,浏览器内核真的很复杂吗?

卡卷网1年前 (2024-11-28)每日看点284

极度复杂,称之为IT界的火星计划都不为过。

连微软都没有能力再维护一套“跟得上最新标准”的内核而使用Chromium内核。准确地说,是指没有把握在有限的资源内(远超出其他小厂),纯粹通过自身的力量,开发出一套比Chromium更具有竞争力和商业价值的内核。


浏览器的复杂,涉及几个方面,稍稍点一下,不作展开:

1、排版与渲染。这一方面的设计,最早最早可以追溯回去Knuth老爷子的《The TeX Book》,诸如px、em、inch、baseline、vbox、hbox这些概念,最早最早都是为 TeX 排版创造出来的,用于字母的定位。CSS 3.0 那些变幻、动画,就更不提了。

2、多媒体,包括声频视频。在 Fabrice Bellard 大神的 ffmpeg 之上,还做了非常非常多的工作。需要处理各种播放格式的解码工作,这部分又分为硬件实现和软件实现。

3、JavaScript引擎。这里涉及编译原理、JIT优化、垃圾回收。

4、图形学。WebGL,底层D3X、OpenGL 适配,现在还多了一个 Mac 的 Metal。还要绕开NVidia、AMD、Intel显卡对各种驱动的可能出现的坑。

5、网络。包括完整实现HTTP协议、WebSocket协议、WebRTC协议,还有新协议诸如HTTP2、HTTP3等。对比与渲染与多媒体,这部分反倒是最不困难的,也是确定性最强的。

6、与OS的交互与优化。这部分至少3套代码,MacOS、Windows、Linux 各不同。

7、要实现好上万页的W3C标准,通过兼容性测试。

8、安全性。各平台实现的SandBox环境。


另一浏览器Firefox(谢谢指正)内核源代码,都还保留着Netscape浏览器的遗产,有些部分一行都没改过(或者说没有能力读懂,就没改),但还能跑还能用。


很多人会混淆“难”与“复杂”2个维度,用浏览器这个例子就很能说明这2个维度的差异。难。需要硬功夫去啃,强调的是特定领域的深度。复杂。涉及面广,强调的是多个领域相互配合。对于浏览器前面说的几点,你把每一点单独抽出来,啃个3年5年,总能啃出点成果。例如V8 JS引擎里头的语法解析部分,至少可以理解他怎么运作的。而对浏览器而言,你需要把上述不同领域的都摸一遍,摸清楚难点在那里,摸清楚与其他组件如何配合,可能3-5年也只能知道个大概。


一个浏览器,涉及了操作系统、图形学、编译原理三座大山的各个方面,需要各个组件精密地配合运作起来,否则就是排版错乱、音频视频变噪音等问题,直接导致产品不可用。


顺便为自己的愚蠢诚恳认错

据报道称“浏览器内核有上千万行代码”,浏览器内核真的很复杂吗?  第1张

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2024/11/1888.html

分享给朋友:

相关文章

普通人一部手机用多久?

普通人一部手机用多久?

各位知友,你们的现在的手机用了多久了呢?回看国外分析机构TechInsights的报告,目前大家的用机周期是越来越长了,在国内,也达到了「40个月」,就是很多人至少三年半才会换一次手机。仔细想想,不对呀,现在新机不是一直出吗?为什么大家都不...

逾期后支付宝微信被冻结,显示执保该怎么办?

这几天有朋友问我说,他的微信零钱突然的用不了,问我是不是被冻结了,问我该怎么办?是不是被起诉了?这个,那个,别慌,别慌,还是那句老话:有钱就去协商,没钱只能暂时不管!但是真不管,这个被冻结的微信怎么办呢?今天针对这个问题,我就给大家做一哥比...

知乎创作收益高吗?

知乎创作收益高吗?

高啊,主要是大多数人不知道怎么做。(这是以前写的,请看到最后)我之前就是傻傻写问答,文章,结果一毛钱收益没有。知乎上收益高的主要有盐选,好物推荐,致知计划,付费咨询。1、盐选吧,是写故事,小说类的天堂,还有就是大咖们的地盘了,难度高。2、好...

为什么我们一直在给B站充大会员但B站却一直处于亏损状态?

我讲一下离谱的真相吧,欢迎喷我。很多人都觉得B站在赶走人才,赶走优秀的长视频创作者,也觉得知乎在这么做,是没错的。确实在这么做。而原因很简单。只有影响力很大的KOL才有商业价值。(KOL是指“关键意见领袖”)而你说你是人才?对不起,人才不赚...

抖音和快手最大的区别是什么?

1、目标人群定位不同抖音:一二线城市,占比52%,大专学历以上,女性偏多。抖音以年轻群体居多。快手:三四线城市,占比64%,高中学历以下,男女更均衡。快手所覆盖的年龄段范围更广。2、内容创作的形式和深度不同抖音:偏深层,内容的装饰及表达更高...

数字人民币为什么又不火了?

我完全不懂行。我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百块钱,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。