WebKit介绍和总结(一)

.
WebKit

简单介绍

Webkit
是一个开放源码的浏览器引擎
(web
browser engine)
,最初的代码来自
KDE

KHTML

KJS(
均开放源码
)

苹果公司在
Webkit
的基础上做了大量优化改进工作
。此时的
Apple
Webkit
已经和
Webkit
有了不少区别,最后开发出了著名的
Safari
。能够说
Safari
是一个相当成功的产品,可是
Safari
却不是开放源码的。

基于
WebKit
的浏览器产品有:苹果的
Safari

iPhone

Google

Chrome

Android

Nokia

S60
,傲游
3(Maxthon3)

WebKit


眼下支持

HTML4/5


CSS1/2


DOM1/2


HTTP/FILE

GIF/JPEG/PNG

XML


SVG


RSS2.0

等;

同类的浏览器引擎有:
Trident

IE
内核),
Gechko

Netscape,
Mozilla

Firefox
内核)。
Presto

Opera
内核,不免费),
Tasman

IE
for MAC
内核)。等等,而
WebKit
由于其功能强大、速度快并且免费备受欢迎。

.

用到的库:


  

除了平台相关的库。

WebKit

须要用到的一些基本的后台库有:

  • ICU

    International
    Components for Unicode

    一个成熟。广泛使用的一套为
    C
    / C + +


    Java

    库提供
    Unicode


    全球化支持软件;

  • XSLT

    eXtensible
    Stylesheet Language Transformation, W3C
    定义的用于
    XML
    文档转换的规范;
  • Curl

    一个利用
    URL

    语法的命令行传输数据工具。基于
    libcurl

  • Sqlite

    SQLite

    是实现了
    SQL92

    标准的
    SQL
    数据库引擎,它能在一个库里组合数据库引擎和接口

    将全部数据存储于单个文件

  • Gperf
    :一个非常完美的哈希函数生成器。
  • Flex

    Fast
    Lex, 高速词法分析生成器;
  • Bison
    :语法分析生成器,能够将一段带凝视的上下文无关语法转化成
    LALR

    GLR
    语法。
  • Enchant
    :一个拼写检查库,提供单词的拼写检查、纠错等功能;

.

代码文件夹结构

  • WebKitTools
    一些測试
    WebKit
    实现功能的程序;
  • WebKitLibraries
    WebKit
    用到的库以及系统调用接口定义。
  • WebKitExamplePlugins
    一些来自
    Netscape
    的插件,比方输入法、动画和
    Cocoa
    环境等。
  • WebKitSite:
    保存了
    www.webkit.org
    站点的
  • WebKit
    此文件夹位于
    WebKit
    的最上层,定义了与应用相关的一些接口。因此它是平台相关的。每一个子文件夹都是相应平台的完整实现:
  • cf

    Core
    Foundation,
    MAC OS
    X
    上的系统级
    C
    语言
    API
    接口。
  • win

    Windows
  • mac

    MAC
    OS X
  • qt

    Q
    Toolkit
    。其公司已被
    Nokia
    收购。
  • gtk

    Gimp
    Toolkit
  • scripts
    :一些脚本。眼下仅仅有一个关于
    WebKit
    版本号的脚本程序。
  • chromium

    Google
    Chrome
    开发平台。
  • wx

    wxWindows
    ,一种可移植的
    C++

    Python
    GUI
    工具箱。
    by
    Julian Smart
  • haiku
    :一种开源
    OS
    ,从
    BeOS
    而来,
    2001
    開始,
    2009
    公布首版。
  • efl:
    Enlightenment Foundation Libraries, Enlightenment
    平台。
    WebCore

    WebKit
    的核心部分,定义了浏览相关的数据
    IO
    、页面载入、脚本分析、
    UI
    组织、事件处理、网络分析、平台相关的详细实现等内容。

  • xml
    :提供
    xml
    相关的内容;
  • html
    :提供
    html
    相关的内容。其下的
    Canvas
    文件夹定义了
    3D
    画布以及
    WebGL
    库相关的内容。
  • wml:
    Wireless Markup Language
  • css
    :提供
    css
    相关的内容;
  • dom
    :提供
    dom
    相关的内容。
  • editing
    :编辑相关的功能;
  • page
    :浏览相关内容。并不是是我们看到的一个页面。在一次浏览会话中,它仅仅有一个实例;
  • rendering
    :页面渲染相关的内容,在对页面脚本进行
    DOM
    树分析之后。须要对这些元素进行渲染和显示;
  • notification
    :内部模块间的事件通信。
  • history
    :页面浏览历史记录相关的内容。
  • svg
    :矢量图形功能。有选项,
    --svg
  • mathml

    W3C
    为网页中的数学表达式制定的规范。有编译选项,
    --mathml
  • loader

    载入资源及
    Cache

  • workers
    :“
    Web
    Workers


    WEB


    前端网页上的脚本提供了一种能在后台进程中执行的方法。

    一旦它被创建,

    Web
    Workers


    就能够通过

    postMessage()


    向任务池发送任务请求。运行完之后再通过

    postMessage()


    返回消息给创建者指定的事件处理
    程序

    (


    通过

    onmessage


    进行捕获

    )


    Web
    Workers


    进程可以在不影响用户界面的情况下处理任务,而且。它还可以使用

    XMLHttpRequest


    来处理

    I/O


    。不管

    responseXML


    channel


    属性是否为

    null


    。”

  • storage

    Web
    Storage
    相关的内容,保存页面的数据,能够看成是
    Cookie
    的升级;
  • websockets
    :与网络连接相关的内容。
  • bridge:
    主要包括
    NPPlugin(Netscape
    Plugin)
    方面的接口訪问等内容;
  • binding

    Dom

    JavaScriptCore
    绑定的功能。
  • accessibility
    :提供控件的可用性相关的内容。
    accessibility
    经常使用来形容对一些特殊人群的功能支持,比方残障者、老人等;
  • icu
    :里面放了专门为
    Mac
    OS X 10.4
    编译的
    icu
    相关头文件
  • platform
    :提供了平台相关的详细实现,如事件响应、本地化、网络连接等;
  • plugins
    :插件相关内容。
  • ForwardingHeaders
    :头文件。
  • inspector

    Inspector

    WebKit
    提供的查看网页源码,
    DOM
    树。以及调试脚本的工具,本文件夹包括了实现此功能的内容;
  • Configurations

    X
    Code
    环境相关的配置文件;
  • English.lproj
    :本地化文件。
  • manual-tests
    :測试用的
    html
    文件。
  • Resources
    :资源,图标。
  • WebCore.gyp
    :project文件。

    GYP


    Generate
    Youre Project
    )是
    google

    自己开发了一个脚本工具。这个工具也
    是採用
    python

    编写的。

    它採用了自己定义的一套规则,用于生成各种project文件。

  • WebCore.vcproj

    VC
    project文件;
  • WebCore.xcodeproj

    X
    Code
    project文件;
  • WTF

    Apple

    C++
    库。能够看作精简的
    STL

    SunSpider
  • 一个
    JavaScript
    的检測程序,它不检測
    DOM
    或者浏览器其它的
    API
    。仅仅用来检測
    Javascript
  • JavaScriptGlue
  • JavaScriptCore
    :有关
    JavaScript
    的相关内容。包含了脚本解释器、分析器以及运行程序。
  • PlanetWebkit:
    一个比較灵活的
    RSS
    阅读器。
    Webkit
    站点上的
    Planet
    :一站式的
    Webkit
    开发与动态信息;

.

体系结构

WebKit
主要包含三部分:
WebKit

WebCore
。以及
JavaScriptCore
,加上所使用的库,依托的平台。其主要的体系结构
(Architecture)
例如以下所看到的:

请注意,某些模块,该模块如下突出。这是因为,此模块具有以下模块直接相关。例
WebCore
模块JavaScriptCore

Libraries

Platforms
模块是直接关系到。

时间: 06-08

WebKit介绍和总结(一)的相关文章

浏览器内核

主流浏览器内核介绍(前端开发值得了解的浏览器内核历史) 最近 "个人恶趣味" 持续发酵,突然想了解下浏览器内核的发展历史. 内核 首先得搞懂浏览器内核究竟指的是什么. 浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎.它负责取得网页的内容(HTML.XML.图像等等).整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机.浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效

Google Chrome Source Code Download)

Google Chrome 源码下载地址 (Google Chrome Source Code Download) 地址: http://www.xiaohui.com/dev/vccool/internet/google-chrome-source-code-download.htm 1. Google Chrome 源码 SVN 地址:http://src.chromium.org/svn.包含有 Chrome.Gears.Webkit.GCC 等源码以及编译依赖工具.Chrome 浏览器项

Webkit资源加载介绍

一.webkit资源分类 webkit中有多种资源,大致分为以下几种: HTML文本 CSS样式文本 - CachedCSSStyleSheet 字体 - CachedFont 图片 - CachedImage 只读资源 - CachedRawResource JavaScript文本 - CachedScript SVG - CachedSVGDocument 视频字幕 - CachedTextTrack XSL样式表 - CachedXSLStyleSheet 类图如下: HTML文本是网页

八大Webkit内核浏览器

列举出时下最流行的Webkit内核浏览器,所以我们并不会做出评测和对比.PS:本文列举的浏览器有一部分为IE+Webkit双核浏览器,如果您对其他IE内核浏览器很感兴趣<抛弃数据!用体验和感觉告诉你什么才是最好用的浏览器!>一文可能会对你有所帮助.尖端技术的Webkit内核WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用).同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称

HTML5介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. HTML5没有那么难,他是一个非常简单的标记. 三个知识点:THML5/JS/CSS3. 之后是网页框架 C/S 客户端/服务器 B/S 浏览器/服务器 C/S构架的优缺点: C/S架构的模型: C/S架构一旦发生更新,那么成千上万个客户机都要进行更新,如果更新内容比较多,客户机不更新完毕,就无法运行. B/S架构工作原理: B/S架构优缺点: 移动公司都是

webkit 渲染机制

最近看了< webkit技术内幕 >,虽然并不能完全看懂,但是对浏览器的渲染机制也算是有了一个比较完整的认识. 我们从浏览器地址栏输入网址开始到web页面被完整的呈现在眼前,大概的经过了这样一个过程:网址被DNS解析为IP地址 -> 通过IP地址建立TCP连接 -> 发送HTTP请求 -> 服务器处理请求并返回响应 ->  浏览器解析渲染页面 -> 断开TCP连接 可是浏览器是怎么去解析渲染页面的呢?这里就要涉及到浏览器的内核,也就是浏览器的渲染引擎(严格来说应该

使用 React.js 的渐进式 Web 应用程序:第 1 部分 - 介绍

来自译者 markzhai:大家也知道最近 Web 越来越火了,如果你还以为 Web 就是 jQuery.Ajax.CSS 什么的,那你就 out 了.给大家几个链接看一看吧: https://shop.polymer-project.org/ https://housing.com/ https://www.flipkart.com/ https://react-hn.appspot.com/ https://mobile.twitter.com/ 部分可能需要自备梯子,另外建议在 Chrom

《Getting Started with WebRTC》第一章 WebRTC介绍

? 本章是对WebRTC做概念性的介绍. 阅读完本章后.你将对下面方面有一个清晰的理解: .  什么是WebRTC .  怎样使用它 .  哪些浏览器支持 1.1. WebRTC介绍 World Wide Web(WWW)是出如今1990年代的早期, 它是建立在使用HREF超链接的以页面为中心的模型上. 在这个网页的早期模型中,浏览器从一个网页到还有一个网页是通过更新HTML内容来实现的. 到了2000年,一种新的网页浏览方式开发出来了, 且在后面变成了一个标准.即 XMLHttpRequest

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,