无意中发现的一个蛮有意思的网站,类似一本在线更新的书籍。
通过高级语言的视角帮助我们理清现代 Web 浏览器的构造,可以帮助建立大体的思维模型,然后进一步去深入各浏览器的核心源码。
作者:
Hacker News 上的讨论: Web Browser Engineering | Hacker News
看着就有意思,我都好想学。只是可惜精力有限。
Bintou 确实哈哈,感觉浏览器这东西的复杂度也类似一个操作系统内核了 🤔
感谢分享,我之前也找到个类似的: https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html 只不过作者用的语言是Rust
需要什么前置知识吗,小白可以?
ccjs 没特定要求,但感觉它基本是围绕着 HTML / CSS / JavaScript 如何表达网页进行的,结合一定的数据结构、编译、计算机网络和操作系统知识。
所以从这个角度来看可能可以从两方面入手:
一方面是熟悉浏览器下三剑客的语境(参考 MDN Web入门的前两节;
一方面是对编译、网络和操作系统进程线程之类的有个比较基本的认识(做的时候遇到瓶颈可以再进一步回顾和深挖)
Chromium 有一个分享 Life of a Pixel,也详细展开了这个渲染的过程。
对应文档: https://www.chromium.org/developers/design-documents/#start-here-background-reading
© 2018-2023 0xFFFF