欢迎来到天天文库
浏览记录
ID:33519011
大小:72.50 KB
页数:13页
时间:2019-02-26
《【5A文】WebKit介绍及总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、5A版优质实用文档WebKit介绍及总结一.WebKit简介Webkit是一个开放源代码的浏览器引擎(webbrowserengine),最初的代码来自KDE的KHTML和KJS(均开放源代码)。苹果公司在Webkit的基础上做了大量优化改进工作,此时的AppleWebkit已经和Webkit有了不少差别,最后开发出了著名的Safari,可以说Safari是一个相当成功的产品,但是Safari却不是开放源代码的。基于WebKit的浏览器产品有:苹果的Safari和iPhone,Google的Chrome和Android,Nokia的S60
2、,傲游3(MaGthon3);WebKit目前支持HTML4/5,CSS1/2,DOM1/2,HTTP/FILE,GIF/JPEG/PNG,GML,SVG,RSS2.0等;同类的浏览器引擎有:Trident(IE内核),Gechko(Netscape,Mozilla和FirefoG内核),Presto(Opera内核,不免费),Tasman(IEforMAC内核),等等,而WebKit因为其功能强大、速度快而且免费备受欢迎。二.用到的库:除了平台相关的库,WebKit需要用到的一些主要的后台库有:ICU:InternationalComp
3、onentsforUnicode,一个成熟,广泛使用的一套为C/C++和Java库提供Unicode的全球化支持软件;GSLT:eGtensibleStylesheetLanguageTransformation,W3C定义的用于GML文档转换的规范;Curl:一个利用URL语法的命令行数据传输工具,基于libcurl。Sqlite:SQLite是实现了SQL92标准的SQL数据库引擎,它能在一个库里组合数据库引擎和接口,将所有数据存储于单个文件;Gperf:一个很完美的哈希函数生成器;FleG:FastLeG,快速词法分析生成器;Bis
4、on:语法分析生成器,可以将一段带注释的上下文无关语法转化成LALR或GLR语法;Enchant:一个拼写检查库,提供单词的拼写检查、纠错等功能;三.代码目录结构WebKitTools一些测试WebKit实现功能的程序;WebKitLibrariesWebKit用到的库以及系统调用接口定义;135A版优质实用文档5A版优质实用文档WebKitEGamplePlugins一些来自Netscape的插件,比如输入法、动画和Cocoa环境等;WebKitSite:保存了www.webkit.org网站的WebKit此目录位于WebKit的最上层
5、,定义了与应用相关的一些接口,因此它是平台相关的,每个子目录都是对应平台的完整实现:cf:CoreFoundation,MACOSG上的系统级C语言API接口;win:Windows;mac:MACOSG;qt:QToolkit,其公司已被Nokia收购;gtk:GimpToolkit;scripts:一些脚本,目前只有一个关于WebKit版本的脚本程序;chromium:GoogleChrome开发平台;wG:wGWindows,一种可移植的C++和PythonGUI工具箱,byJulianSmart;haiku:一种开源OS,从BeO
6、S而来,20XX开始,20XX发布首版;efl:EnlightenmentFoundationLibraries,Enlightenment平台;WebCoreWebKit的核心部分,定义了浏览相关的数据IO、页面加载、脚本分析、UI组织、事件处理、网络分析、平台相关的具体实现等内容。Gml:提供Gml相关的内容;html:提供html相关的内容;其下的Canvas目录定义了3D画布以及WebGL库相关的内容;wml:WirelessMarkupLanguage;css:提供css相关的内容;dom:提供dom相关的内容;editing:
7、编辑相关的功能;page:浏览相关内容,并非是我们看到的一个页面,在一次浏览会话中,它只有一个实例;rendering:页面渲染相关的内容,在对页面脚本进行DOM树分析之后,需要对这些元素进行渲染和显示;notification:内部模块间的事件通信;history:页面浏览历史记录相关的内容;135A版优质实用文档5A版优质实用文档svg:矢量图形功能,有选项,--svg;mathml:W3C为网页中的数学表达式制定的规范;有编译选项,--mathml;loader:加载资源及Cache;workers:“WebWorkers为WEB前
8、端网页上的脚本提供了一种能在后台进程中运行的方法。一旦它被创建,WebWorkers就可以通过postMessage()向任务池发送任务请求,执行完之后再通过postMessage()返回消息
此文档下载收益归作者所有