内核编程

jyl_sh8 个月前
浏览器·webkit·c/c++·内核编程·内核开发
《WebKit技术内幕》学习之十三(3):移动WebKit为了移动领域更好的用户体验,渲染机制所做的改进主要是提升渲染性能来增加响应的速度,甚至不惜牺牲一些跟规范定义的行为不一致的地方。在这一小节中主要介绍三个方面的技术,其一是Tiled Backing Store,其二是线程化渲染,其三是快速移动翻页。
jyl_sh8 个月前
前端·浏览器·webkit·c/c++·内核编程
《WebKit 技术内幕》学习之十三(1):移动WebKit随着电容屏幕的流行,触控操作变得前所未有的流行起来。时至今日,带有多点触控功能已经成为了移动设备的标准配置,基于触控的手势识别技术也获得巨大的发展,如使用两个手指来缩放应用的大小等。所以,在移动系统中,编程需要考虑的不是鼠标事件,而是触控和手势事件,这些事件对于改善用户体验起了非常大的作用。最早将触控和手势事件引入Web领域的是苹果公司,它在iOS2.0中加入了这种支持,随后Android系统也加入了这一阵营。
jyl_sh8 个月前
前端·安全·浏览器·webkit·c/c++·内核编程
《WebKit 技术内幕》学习之十二(1):安全机制安全机制对于浏览器和渲染引擎来说至关重要。一个不考虑安全机制的HTML5规范体系肯定不会受到广泛地使用,同时一个不安全的浏览器也不会得到广大用户的青睐。本章介绍的安全机制分成两个不同的部分,第一个部分是网页的安全,包括但是不限于网页数据安全传输、跨域访问、用户数据安全等。第二个部分是浏览器的安全,具体是指虽然网页或者JavaScript代码有一些安全问题或者存在安全漏洞,浏览器也能够在运行它们的时候保证自身的安全,不受到攻击从而泄露数据或者使系统遭受破坏。
jyl_sh8 个月前
前端·webkit·c/c++·内核编程
《WebKit 技术内幕》学习之十一(1):多媒体说到浏览器对多媒体的支持,不得不提的就是Flash插件和HTML5之争。Flash对Web的发展起了非常重要的作用,它能够支持视频、音频、动画等多媒体功能,虽然现在大家都在讨论Web前端领域是否应该丢弃Flash插件转而支持HTML5。在本章中,笔者将回顾Web前端中的多媒体发展历程,然后详解现在HTML5中引入的多媒体技术。从整体上来看,这的确是一幅欣欣向荣的景象:从没有原生支持和仅是第三方插件支持,到简单的音视频播放,从音频播放再到使用WebAudio技术来处理音频,最后再到网络实时视频会议,Web被
jyl_sh8 个月前
浏览器·webkit·c/c++·内核编程·内核开发
《WebKit 技术内幕》学习之十(2): 插件与JavaScript扩展插件其实是一种统称,表示一些动态库,这些动态库根据定义的一些标准接口可以跟浏览器进行交互,至于这个标准接口是什么都可以,重要的是大家都遵循它们,NPAPI接口标准只是其中的一种,因为它被广泛使用,所以被提到的次数也最多。本节介绍的PPAPI也是一种浏览器和插件交互的接口标准,该标准是由Google提出,在Chromium项目中获得支持。
jyl_sh8 个月前
前端·javascript·浏览器·webkit·c/c++·内核编程
《WebKit 技术内幕》学习之十(1): 插件与JavaScript扩展虽然目前的浏览器的功能很强 ,但仍然有其局限性。早期的浏览器能力十分有限,Web前端开发者希望能够通过一定的机制来扩展浏览器的能力。早期的方法就是插件机制,现在流行次啊用混合编程(Hybird Programming)模式。插件一直伴随着浏览器的发展,最著名莫过于Adobe公司的Flash插件。对于插件的接口定义,差别也很大,比较著名的是微软公司的ActiveX插件机制和网景公司 的NPAPI产检。随后,Chromium项目考虑到性能引入PPAPI插件机制,同时为了安全方面的考虑,引入NativeClie
jyl_sh8 个月前
浏览器·webkit·c/c++·内核编程·内核开发
《WebKit 技术内幕》之八(3):硬件加速机制其实网页中有很多绘图操作是针对2D图形的,这些操作包括通常的网页绘制,例如绘制边框、文字、图片、填充等,它们都是典型的2D绘图操作。在HTML5中,规范又引入了2D绘图的画布功能,它的作用是提供2D绘图的JavaScript接口,所以JavaScript代码可以很容易地调用该接口来绘制任意的2D图形。2D绘图本身是使用2D的图形上下文,而且一般使用软件方式来绘制它们,也就是光栅化(Rasterize)的方法。但是,其实这些2D绘图操作也可以使用GPU也就是3D绘图来完成,这里把使用GPU来绘制2D图形的方
jyl_sh8 个月前
前端·浏览器·webkit·c/c++·内核编程
《WebKit 技术内幕》之八(2):硬件加速机制GraphicsLayer对象是对一个渲染后端存储中某一层的抽象,同众多其他WebKit所定义的抽象类一样,在WebKit移植中,它还需要具体的实现类来支持该类所要提供的功能。为了完成这一功能,Chromium提供了更为复杂的设施类,这一节主要介绍从GraphicsLayer类到合成器这一过程中所涉及的众多内部结构。
jyl_sh8 个月前
浏览器·webkit·c/c++·内核编程
《WebKit 技术内幕》之五(4): HTML解释器和DOM 模型4 影子(Shadow)DOM 影子 DOM 是一个新东西,主要解决了一个文档中可能需要大量交互的多个 DOM 树建立和维护各自的功能边界的问题。
jyl_sh8 个月前
前端·网络·webkit·c/c++·内核编程
《WebKit 技术内幕》之四(3): 资源加载和网络栈3. 网络栈3.1 WebKit的网络设施WebKit的资源加载其实是交由各个移植来实现的,所以WebCore其实并没有什么特别的基础设施,每个移植的网络实现是非常不一样的。