webkit起源于KHTML,是KDE开源项目的KHTML和KJS引擎的一部分。在它的诞生和发展过程中,由两家著名的公司参与开发过程中,造成两次裂变。诞生两个内核webkit和blink,并发展和产生了两个主流的浏览器,分别为safari和chrome。
现在两个重要的分支,分别由苹果和谷歌两家公司把持控制着,在浏览器市场,基于这两个内核的浏览器,已经占有市场的绝大部分份额,特别是移动端的浏览器基本上都是基于这两个分支开发的。
因此webkit技术学习,就非常重要了,虽然两个分支经过多年的各自发展,差距越来越大,但是还能找到各自相似的影子。
特别是最近通过下载各自的代码和各种版本进行编译对比,觉得对webkit系统的学习还是非常必要,只有深入的理解对比学习和分析,才能更好理解和使用。
特别是在以往做相关的web项目和进行网页的数据抓取项目开发过程中,对javascript、vue等框架开发中,对浏览器的网页渲染原理的理解总是不够透彻,特别是爬取网页数据时,对浏览器的原理就更为重要了。因此计划将在未来的学习分析源码的过程中,将学习和分析的结果学习笔记的方式来分享出来,与大家一起学习提高。
通过前面编译的源代码过程也进一步认识到,现在的开发工具和使用的语音也不再是单纯的一种语言的工具,特别是webkit是可以跨平台的,可以在windows、mac os x、linux等平台下进行代码移植共享。主体编程语言主要是c/c++,但是链接编译流程和代码处理,还使用了python、perl、ruby等语言,还引入了chocolatey、cmake、WinCairo、AppleWin支持库、ninja等。