页面的绘制(绘制,就是把一个HTML文件变成一个活灵活现的页面展示的过程...),只有一半轮子是Chrome自己做的,还有一部分来自于WebKit,这个Apple打造的Web渲染器。。。
之所以说是一半轮子来源于WebKit,是因为WebKit本身包含两部分主要内容,一部分是做Html渲染的,另一部分是做JavaScript解析的。在Chrome中,只有Html的渲染采用了WebKit的代码,而在JavaScript上,重新搭建了一个NB哄哄的V8引擎。目标是,用WebKit + V8的强强联手,打造一款上网冲浪的法拉利,从效果来看,还着实做的不错。。。

不过,虽说Chrome和WebKit都是开源的,并联手工作。但是,Chrome还是刻意的和WebKit保持了距离,为其始乱终弃埋下了伏笔。Chrome在WebKit上封装了一层,称为WebKit Glue。Glue层中,大部分类型的结构和接口都和WebKit类似,Chrome中依托WebKit的组件,都只是调用WebKit Glue层的接口,而不是直接调用WebKit中的类型。按照Chrome自己文档中的话来说,就是,虽然我们再用WebKit实现页面的渲染,但通过这个设计(加一个间接层...)已经从某种程度大大降低了与WebKit的耦合,使得可以很容易将WebKit换成某个未来可能出现的更好的渲染引擎。。。

转载于:https://www.cnblogs.com/kdcaptain/archive/2012/05/23/2514223.html

WebKit 与 V8 的关系相关推荐

  1. QT webkit 各个类之间关系--QWebView-QWebPag

    一.QT webkit简介 1.Qt Qt(发音同 cute)是一个跨平台的C++应用程式开发框架,有时又被称为C++部件工具箱.Qt被用在KDE桌面环境.Opera.Google Earth.Sky ...

  2. 干货:浏览器渲染引擎Webkit和V8引擎工作原理

    浏览器的历史 W3C在80年代后期90年代初期发明了世界上第一个浏览器WorldWideWeb(后更名为Nexus),支持文本/简单的样式表/电影/声音和图片 1993年,网景(netscape)浏览 ...

  3. WebKit之V8技术优化分析

    一.V8背后的故事 1.1 javascript的速度与需求 JavaScript存在至少10年了.在1995年,它出现在网景(Netscape Communications)公司所研发的网页浏览器N ...

  4. 浅谈WebKit之WebCore

    最近自从Google推出Chrome浏览器之后,浏览器受到人们更加广泛的关注,网上时而会出现这样那样的评价,作为一个浏览器内核爱好者,希望能乘着大家都关注的东风,能对浏览器内核有更深入的理解,进而能更 ...

  5. 理解WebKit和Chromium: Canvas2D及其实现

    转载请注明原文地址:http://blog.csdn.net/milado_nju/article/details/7293012 # Canvas 2D及其在WebKit和Chromium中的实现 ...

  6. C#调用WebKit内核

    原文:C#调用WebKit内核 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013564470/article/details/80255954 ...

  7. Node.js 内存管理和 V8 垃圾回收机制

    作者:五月君 链接:https://www.imooc.com/article/288799 来源:首发慕课网 本文已获作者 "五月君" 授权转载,原文首发于 "慕课网& ...

  8. 校招社招必备核心前端面试问题与详细解答

    本文总结了前端老司机经常问题的一些问题并结合个人总结给出了比较详尽的答案.网易阿里腾讯校招社招必备知识点. 原理讲解参考:前端增长-重新定义大前端 在线课程:网易云课堂课程      思否课堂 官方博 ...

  9. 开发一款浏览器内核需要学习哪些方面的知识?

    开发一款浏览器内核需要学习哪些方面的知识? 最近参加毕业设计,题目选的是<基于Linux平台的网页浏览器设计与实现>. 想认真做一下,所以不准备直接用现成的开源浏览器内核(比如WebKit ...

最新文章

  1. 向现有对象实例添加方法
  2. Flask 系列之 构建 Swagger UI 风格的 WebAPI
  3. Android之如何解决android.os.NetworkOnMainThreadException的异常
  4. 前端学习(2458):素材管理
  5. CSS清除浮动的五种常用方法
  6. python定义二维空数组_带有空第二维的数组/向量的Python / numpy问题
  7. python产生随机值-random模块
  8. 计算机关机管理软件,局域网管理利器--大势至远程开关机工具
  9. 中国移动计算机类行测题目,2021三大运营商春招笔试:中国移动行测练习题(2)...
  10. 如何写一个简单的爬虫程序
  11. 详解Spring AOP原理
  12. intellij idea设置主题、字体样式和背景色
  13. 【AutoCAD】04.直线类命令
  14. 腾讯,字节等大厂面试真题汇总,赶快收藏备战金九银十!
  15. php中execute的用法,写操作execute
  16. Android版优酷网闪亮登场
  17. 【vue2】子组件向父组件传参方法汇总
  18. 数字IC设计的第一步——Synopsys EDA Tools的安装
  19. ESP32WiFi-AP 模式创建 wifi 热点
  20. random()随机数的产生方式与原理

热门文章

  1. MySQL复习资料(二)——MySQL-DDL语句
  2. pyecharts第八节、雷达图
  3. 生日祝福(HTML+CSS+JavaScript+jQuery)
  4. Java工程师知识图谱
  5. python pynlpir中科院分词的使用
  6. CentOS下载及版本选择
  7. 小议Oracle外键约束修改行为
  8. Eclipse新建web项目出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  9. 树状数组之区间修改单点查询
  10. ArcGIS 10.0 ArcGIS 9.3.1数据生成实验--个人地理数据库