chromium 初识简介

来源:互联网 发布:数据库证书哪个好考 编辑:程序博客网 时间:2024/06/05 03:54

 1.浏览器主要工作:

       浏览器要处理的两个核心对象是HTML和JavaScript。HTML用来实现网页UI,涉及到的最核心技术是UI渲染技术。JavaScript用来实现网页功能,涉及到的最核心技术JavaScript引擎技术

     浏览器工作的总重要的部分是UI 渲染模块,其中又以动画的流畅与否,来衡量用户体验好坏,这就需要加快UI渲染速度(一般是是60fps),优化这些通常采取通常都会使用诸如纵向分层、横向分块的渲染策略。所谓纵向分层,就是在Z轴方向上按层来划分UI;所谓横向分块,就是对于UI的每一个层。

   智能设备的多核特性,可以使得在执行第N帧的UI绘制命令的同时,收集第N+1帧的UI绘制命令。此外,对于第一步收集到的UI绘制命令,还可以做一些额外的优化。当我们收集到一帧UI的所有绘制命令的时候,我们就相当于是知悉了这一帧UI的全貌。知悉了一个UI帧的全貌之后,就可以进行一些优化,例如对某些UI绘制命令进行重排和合并,以及丢弃那些被遮挡的UI相关的绘制命令。这些优化同样是可以减少渲染操作,从而获得更流畅的UI体验。此外还有很多设备配备了GPU(硬件加速渲染技术),从而可以进一步提高UI的渲染速度。UI层和块,可以直接以GPU的纹理或者FBO来进行绘制和合成。GPU具有成熟和专业的UI渲染技术,因此通过它来渲染UI,可以获得更流畅的UI体验。


       在移动端上,近两三年出现了不少专门针对手机的Web OS,例如Firefox OS、Ubuntu Mobile OS、Tizen OS以及阿里的云OS,都支持运行Web应用,这意味在这些系统上可以使用JavaScript来开发应用。当然,在Android和iOS上也可以开发Web应用,不过它们都是要运行在WebView之上,不是直接在OS层面上得到支持。在服务端上,Node.js就是一个有代表性的框架,它使得我们可以使用JavaScript来开发Web服务器。一个本来只是设计用在网页开发的语言,由于它的简洁和易用性,现在不仅渗透到移动端、服务器端开发上,还渗透到了MCU领域上。JavaScript是一种动态语言,但与当下流行的的java ,c++静态语言一样,在实现上都是涉及到了编译相关的知识,例如语法解析、生成语法树、生成字节码指令、生成本地指令和指令优化等。只不过对于动态语言来说,这些操作发生在应用程序运行时,只对于静态语言来说,这些操作发生应用程序运行前此外,运行JavaScript的引擎与运行Java字节码的虚拟机一样,在运行时都提供了内存自动管理技术,也就是会执行GC。由此可见,学习JavaScript可以获得很多编译语言相关的知识。这也是学习浏览器技术可以得到的第二点核心技术。此外,运行JavaScript的引擎与运行Java字节码的虚拟机一样(c不会),在运行时都提供了内存自动管理技术,也就是会执行GC(Garbage Collection,垃圾收集,垃圾回收)。由此可见,学习JavaScript可以获得很多编译语言相关的知识。这也是学习浏览器技术可以得到的第二点核心技术。