本文共 1123 字,大约阅读时间需要 3 分钟。
为什么要写这本书
在PC互联网时代,用户开启电脑后手动打开的第一个应用程序,如果不是QQ,那往往就是浏览器。在移动互联网无比繁荣的今天,移动浏览器虽然没有像PC浏览器那样占据资讯第一入口的地位,但浏览器引擎一个华丽的转身,找到了自己新的、更广阔的发展空间—嵌入到各个超级App中,比如微信、百度搜索框等,无缝展示Web资源,由此可见,浏览器引擎依旧非常重要。浏览器的重要性毋庸讳言,在这便捷的工具中,用户只需键入一个文本的URL或者点击一个链接,瞬间绚丽的新页面就展示在面前。浏览器具备什么样的魔法使这一切悄然发生呢?相信普通用户和众多的前端开发者都会有这个疑问。阅读开源的浏览器引擎代码(比如WebKit),可以帮我们解开这些疑惑,这正是本书的内容。WebKit引擎内容庞大复杂,是一个完整的网页内容解析工具,集成WebKit的具体平台只需对接网络库及图形库,便可使用WebKit的强大解析功能。利用具体平台提供的图形库及显示系统便可实现网页的渲染和显示。WebKit引擎由众多的子模块组成,模块功能高度内聚,彼此协同工作处理数据流。代码考究,格式优美,内容精彩,是开源代码中的上品,极具研究和学习价值。由于WebKit的庞大,初学者往往无从下手,对比Linux Kernel,虽然Linux Kernel的源码复杂度高于WebKit,但相关领域已经有大量的优秀书籍,加之操作系统、计算机体系结构及接口技术是计算机相关专业学生的必修课,这都使得Linux Kernel的学习曲线不再陡峭。而在浏览器引擎方面,至今学习资源仍然非常少,WebKit官网、Chromium官网、W3C官网、html5rock等网站虽然有一些原理性和框架性的描述,但不够具体,要想真正了解浏览器引擎还是要跟随笔者一起阅读代码。转载地址:http://dxwzo.baihongyu.com/