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

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

卡卷网11个月前 (11-28)每日看点206

极度复杂,称之为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

分享给朋友:

相关文章

怎么用游戏搬砖挣钱呢?

怎么用游戏搬砖挣钱呢?

今天,我把我多年操作的经验分享出来,以供各位老板们学习借鉴,胆小的老板就离开吧,心里承受能力太弱了,会刷新你的认知的。有些新人在计算收益的时候,会以机器数来计算,其实是有误区的,比如,一台机器一个月搞400元,平均每天搞13元钱,搞上100...

推荐几个问卷调查平台?

推荐几个问卷调查平台?

我给大家免费推荐一些市面上不多,且稳定的免费的问卷平台,这个在网上都是能够搜索到的,有的还是世界500钱企业,这里推荐的基本上都是上市的问卷公司了。上面都是可以免费去注册的,对外公开开放的,做完了直接奖励美刀的,不需要兑换卡什么的。Cint...

如何在自己家里建立一套私有云系统?需要哪些设备?

如何在自己家里建立一套私有云系统?需要哪些设备?

我敢保证,这绝对是目前为止最简单的搭建家用私有云的方法:“一台主机+至少一块硬盘”足矣!不需要任何专业知识,也没有复杂繁琐的步骤,十分钟不到就能搭建好,帮你成功打开文件云储存新世界的大门!还在单纯依靠网盘进行文件存储的朋友,不是我吐槽哈,它...

你是如何在不依靠工资收入的情况下赚到一万元的?

你是如何在不依靠工资收入的情况下赚到一万元的?

分享几个路子稳,门槛低,变现快,适合年轻人的靠谱的副业。绝对不是送外卖、滴滴、搬砖等等的苦力活,这几个副业都是能是性价比极高,还能让你快速成长的工作。想通过副业实现暴富、立马月入过万的同学,建议速速划走。今天撇哥就给大家分享100+个靠谱赚...

都是前端框架,为什么用 React 的人会有优越感?

都是前端框架,为什么用 React 的人会有优越感?

上家公司一直搞react,最近第一次写个vue3项目。老板朋友来了看了下页面说:这用vue写的吧。我:是...老板朋友:一看就知道是vue做的。这tm你看一眼页面就知道用的啥框架?这感觉就是,我一直用苹果,偶尔用了下华为打电话,有个人离老远...

如何看待台积电,三星相继停供大陆7nm及更先进芯片?

在这个事出来之前,我就看到过一个说法,两家Foundry可以在中东建厂,让中东的Fab去干“脏活”。本质上是国内企业搞几个中东的代理人,装作是中东的初创Fabless企业去下单,人家Foundry大概率睁一只眼闭一只眼,只管数钱。然而,紧接...

发表评论

访客

看不清,换一张

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