1 what is webkit?

WebKit 是一个开源浏览器网页排版引擎,与之相应的引擎有Gecko(Mozilla,Firefox 等使用的排版引擎)和Trident(也称为MSHTML,IE 使用的排版引擎)。同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。

  目前使用WebKit 引擎的浏览器主要有:Safari(apple出品),Midori,chrome(google出品)等。

PS:

網頁瀏覽器 (列表 ,比較 ,使用分佈 ,時間線 ,分類 )
Trident 排版引擎 Internet Explorer  · 傲游  · 世界之窗瀏覽器  · Avant  · 騰訊TT  · Netscape
8
  · NetCaptor  · Sleipnir  · GOSURF  · GreenBrowser  · KKman
Gecko 排版引擎 Fennec  · Firefox  · 網景 (6 至9 ) · SeaMonkey  · Camino  · Flock  · Galeon  ·K-Meleon  · Minimo  · Mozilla  · Sleipnir  · Songbird  · XeroBank
KHTMLWebKit 排版引擎或 框架 Chromium  · Epiphany  · Google
Chrome
  · iCab  · Konqueror  · Midori  · OmniWeb  ·Safari  · Shiira
Presto 排版引擎 Opera  · 任天堂DS瀏覽器
Java 軟體平台 HotJava  · Opera
Mini
  · UCWEB
Tasman 排版引擎 Internet Explorer for Mac  · MSN
for Mac OS X
文字界面 Lynx  · Links  · w3m
手持設備 嵌入式系統 或 Internet Explorer Mobile  · Minimo  · Opera
Mobile
  · PSP瀏覽器
其它 Amaya  · Dillo  · Mosaic
關聯項目 HTML  · HTML排版引擎  · 分頁瀏覽器  · 網頁伺服器  · 瀏覽器大戰
  WebKit 是一個與軟體 相關的小作品 。你可以通過編輯或修訂 擴充其內容。


2 WebKit Open Source Project 内核引擎的前世今生

  WebKit 的前身是 KDE 小组的 KHTML 。Apple将 KHTML 发扬光大,推出了装备 KHTML 改进型的 WebKit 引擎的浏览器 Safari ,获得了非常好的反响。

  WebKit 引擎比 Gecko 引擎更受程序员 欢迎的原因,除了其引擎的高效稳定,兼容性好外,其源码结构清晰,易于维护,是一个重要的原因。而 Gecko 的可维护性就差多了。我在 2008年6月时候,曾编译
Gecko 引擎,准备做一个基于 Gecko 的 Embed 应用程序 ,但文档缺乏、结构欠清晰,折腾了一星期之后,最终不得不承认自己水平有限,放弃了事。

  现在浏览器的内核引擎,基本上是三分天下:

  • Trident: IE 以Trident 作为内核引擎。
  • Gecko: Firefox 是基于 Gecko 开发。
  • WebKit: Safari, Google Chrome 基于 Webkit 开发。

  WebKit 内核在手机上的应用十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

Webkit内核在手机上的应用十分广泛,这得益于webkit引擎的高效稳定,兼容性好。在桌面平台上它获得了acid3的100/100的得分。webkit最大的特点是速度快、JS脚本处理速度是IE的6倍,同时在安全性稳定性都很出色,对web标准兼容好等特点,webkit 是一项开源工程,以每夜构建方式更新。

PS:

目前比较有名气的浏览器有:

  1. Mozilla Firefox,美国的,是开源项目。
  2. Microsoft Internet Explorer,美国的。
  3. Opera,挪威的。
  4. Konqueror,属KDE开发组,美国的,是开源项目。
  5. WebKit,美国的,是开源项目。

Webkit学习

( 参考博客:http://blog.csdn.net/sgnaw/archive/2008/05/25/2479573.aspx )

Although  WebKit is a complete  web  rendering and layout  engine,  it  requires platform-specific  functionality for  infrastructure  and display.  For this reason, the intergation of WebKit  in Qt  is  implemented using Qt primitives. The WebKit backend 
is  implemented using the  Qt  API  to provide drawing  and  network communication. In addition, parts of  the  WebKit API  are wrapped in Qt-style  classes  to  ensure a uniform and intuitive  API across  all modules  conforming  to  Trolltech guidelines。

3 webkit QT Port:

WebKit 浏览器源程序下载:

  1. http://webkit.org
  2. http://trolltech.com/downloads
  第一个是现在主要由Apple 公司维护的,用于Safari浏览器;第二个是由QT公司提供图形引擎,使用了 WebKit 提供的浏览器核心部件 -- WebCore 和 JavaScriptCore 。


4  webkit Gtk  Port
 

Link : http://live.gnome.org/WebKitGtk

5 webkit EFL Port

webkit  ported to the Enlightenment Foundation Libraries

(   http://code.staikos.net/cgi-bin/gitweb.cgi?p=webkit;a=shortlog;h=kenneth/efl-port )

6  webkit on maemo

maemo-developers:

http://www.gossamer-threads.com/lists/maemo/developers/25399

browser for maemo

http://browser.garage.maemo.org/docs/browser_paper.html

owb- based SDL and webkit

http://www.sand-labs.org/owb/wiki/OwbN800

Mazilla browser on maemo

http://browser.garage.maemo.org/

WebKit VS  Gecko



Webkit 的优势

  Webkit 是一个开源的HTML 渲染引擎,由苹果公司基于 KDE 的 KHTML 项目开发而成。我们从 Chrome 的评测中已经看Webkit 是一个非常轻量的渲染引擎,因其紧凑干净的代码基础,出色的标准支持,以及很小的内存占用而备受赞誉。这些品质使得 Webkit 成为众多浏览器的热选内核。

  Webkit 主要用于苹果的 Safari 浏览器与 iPhone,但一些重要的厂商如 Adobe,Nokia, Trolltech 也使用这个核心。Webkit 的用户中还包括一些不太知名的浏览器,包括 iCab, Omniweb, Shiira, 以及 Epiphany。在一些二线操作系统,如 Haiku, Syllable, 甚至 Amiga,Webkit 也大行其道。越来越多的开发者,使用 Webkit 开发富 Internte 应用(rich Internet applications)。Google
在对众多内核进行评估之后,为 Android 移动浏览器,以及 Chrome 桌面浏览器选择了 WebKit。

  开发者对 Webkit 公认的评价是:这是一个非常出色的渲染引擎,可以用于众多场合,它的吸引力让很多开发者开始怀疑 Mozilla 的 Gecko 内核是否还有市场。



 Gecko

    Gecko 源自 Netscape,并早于 KHTML,Gecko 因庞大与复杂的代码基础而频遭诟病。Gecko 非常强大,但代价高昂,复杂,高内存占用。因此,在很多场合 Gecko 的众多功能反而成了负担。

  Gecko 内核过于复杂的原因是 Gecko 意图提供除了 HTML 渲染之外的更多功能。Mozilla 早期的野心很大,Mozilla 最早的应用套件包括浏览器,邮件和新闻组程序,Web 设计工具,IRC 聊天工具。除了渲染 HTML,Gecko 还要提供一种应用广泛的,基于 XML 的用户界面生成引擎,XUL。XUL 被用在所有这些程序中。XUL 现在仍用在 Firefox 中,用来生成用户界面,因此造就了 Firefox 最有价值的重多扩展应用。

  Gecko 过于复杂的另外一个原因是 XPCOM,一个强大的组件系统。虽然 XPCOM 为 Gecko 带来很多激动人心的功能,让这个渲染引擎实现组件化,然而,这个功能被一些开发者滥用,当 Ars Technica2004年采访 Mozilla 开发者 Scott Collins的时候,Scott Collins 说,对 XPCOM 的滥用是 Mozilla 犯的几个主要错误之一。

  鉴于 XUL 和 XPCOM 所带来的复杂性,苹果自然要考虑为 Safari 选择一种更轻量的内核。苹果要设计一款可以和 Mac 操作系统紧密结合的浏览器,他们还预见到,这个引擎应该支持移动设备,他们因此认识到 KHTML 比 Gecko 更合适。

  2003年,当苹果决定在 Safari 中使用 KHTML 的时候,Mozilla 的 Mike Shaver 曾在博客中承认 Gecko 的缺点。他同时预言,苹果会成为他们推广 Web 标准的联盟。他写道,

  “小而精练曾是我们的苦苦追寻的目标,Gecko 的庞大与臃肿在各种评测中拉了我们的分数,如果我不得不写一个新浏览器,我会考虑 Mozilla 之外的选择。我希望 Mozilla 向 Safari/KHTML 学习,因为它们用 1/10 的代码实现了非常棒的功能。”

  Gecko 洗心革面带来 Firefox 3 的火爆

  2003年以来,发生了很多变化。Gecko 代码基础已经发展了很久,Gecko 依然复杂,然而它的很多历史遗留的缺陷正被一一攻破,Gecko 为 Firefox 3 带来众多革新,为整个 Web 浏览体验带来非常显著的改善。

  Gecko 1.9 使用跨平台的 Cairo 渲染框架,对 SVG 的巨大改进简化了代码并引入一些非常 Cool 的功能,如全页缩放,同时,重构的 reflow 算法,让 Gecko 通过 Acid 2 测试成为可能。Mozilla 还非常显著地降低了对内存的占用,甚至超越了 Safari 和 Opera。

  对 XPCOM 的使用被大大减少,XPCOM 对资源的占用通过一个新的循环回收器得到减低。这个工作仍在继续,Mozilla 将在 Firefox 4 中进一步减低 XPCOM 的负担。Gecko 的其它缺陷也在新的开发中被一一正视,比如,Firefox 3.1 的 Alpha 版中就已经加入对 CSS 3 的支持,另外一些性能的改进会让 Gecko 更具竞争性。Mozilla 的 TraceMonkey 引擎将可能包含在 Firefox 3.1 中,这将显著地提高 JavaScript
性能。

  从技术的角度,Gecko 现在非常稳固,丝毫不比 Webkit 差。一些证据显示,Gecko 正在进军移动领域,这在不久前还是不可能的事。Mozilla 拥有资源,开发经验以及社区支持,这将引导 Gecko 进入任何 Webkit 所能进入的地盘。





PS: Chrome



一:国外资源

SVN :

http://src.chromium.org/svn/trunk

打包:

http://build.chromium.org/buildbot/archives/chromium.tgz

homePage :

http://code.google.com/chromium/developerPage :

http://dev.chromium.org

国内免 proxy :

http://sites.google.com/a/chromium.org/dev/Home

1 : http://www.catonmat.net/blog/code-reuse-in-google-chrome-browser/

网上一个 blog ,列出了 Chrome 用到的开源库,链接在这:

2 、 http://www.cnblogs.com/hesicong/archive/2007/06/29/800017.html

集成 VS 2005 sp1

3:http://www.paperfrag.com chrome 中使用 ActiveX 的方法。

4 : http://blog.chromium.org/ chrome 官方 BLOG

5 : http://chrome-browser.ca

Google has setup the following discussion groups

chromium-announce <http://groups.google.com/group/chromium-announce > Announcements are sent to this list when a new build is available on the developer channel, and at other important events relevant to a majority of users. This is a low-volume,
moderated list.

chromium-discuss http://groups.google.com/group/chromium-discuss

General Chromium discussion, ideas and suggestions should go here.

This is a high-volume mailing list, and in general is the right list to post to as a default if you are unsure of exactly where you should post.

Topical posts include items such as ideas for new features or the improvement of existing features, questions or comments around the high level design of Chromium, and other high-level topics that are not necessarily focused on the actual engineering
or implementation of code.

The engineering (developer) team uses this to discuss technical issues and for announcements. This is a moderate volume, high technical content mailing list.

Topical posts include items such as plans to reduce memory consumption, discussion around how certain code areas are implemented and how to extend or improve such code, announcements of new tests being added to the buildbots, and so forth. chromium-reviews

http://groups.google.com/group/chromium-reviews

The engineering (developer) team uses this to conduct code reviews of changes to the Chromium source. This is a high volume, high technical content mailing list. Topical posts are strictly limited to code reviews. All email threads on this list originate
from code reviews. Please do not start new threads on this list.

chromium-checkins

http://groups.google.com/group/chromium-checkins

This is a read-only list that can be used to monitor individual checkins to the Chromium source. This is a high volume, high technical content mailing list. All emails to this list are automatically generated when code is checked in. Please donot
send emails to this list. chromium-bugshttp://groups.google.com/group/chromium-bugs

This is a read-only list that contains all of the bug database email traffic. All email threads originate from bugs opened in the bug database. Please do not create new threads on this list

chromiumdev:

http://sites.google.com/site/chromiumdev/





6:chromium-dev

http://groups.google.com/group/chromium-dev



7:chromespot

http://chromespot.com/

维基百科:

http://zh.wikipedia.org/w/index.php?title=Chrome&variant=zh-cn



8:官方开发网站

http://sites.google.com/a/chromium.org/dev/

9:chrome发布网站 http://googlechromereleases.blogspot.com/

10:WEBKIT BLOG

http://webkit.org/blog/



. 二:中文部分

1 : http://www.downdig.com/chrome

chrome 比较完整的中文信息

2 : CSDN 资源 Android 研究

http://blog.csdn.net/absurd

源码解析系列 :      

http://blog.csdn.net/bzero1982

Chrome 源码剖析 :          

http://www.cnblogs.com/duguguiyu/

谷歌浏览器的源码分析 :

http://blog.csdn.net/caimouse



WEBKIT 研究                :   

http://blog.csdn.net/sgnaw

chrome源码优化:

http://blog.csdn.net/kokocs 



  yuanwen : http://hi.baidu.com/elseif/blog/item/317eda5000d8a2658535240c.html

<script type="text/javascript"></script>
------------------------------------------------------
转自:http://luckyapple.javaeye.com/blog/304916

WebKit资源的更多相关文章

  1. WebKit资源加载和网络栈

    webkit笔记,主要来自 朱永盛 <WebKit技术内幕> 学习笔记,转载就注明原著,该书是国内仅有的Webkit内核的书籍,学习的好导师,推荐有兴趣的朋友可以购买 WebKit资源加载 ...

  2. Webkit之资源加载

    一.webkit资源分类 webkit中有多种资源,大致分为以下几种: HTML文本 CSS样式文本 - CachedCSSStyleSheet 字体 - CachedFont 图片 - Cached ...

  3. WebKit技术内幕

    WebKit技术内幕(浏览器内核|渲染引擎| HTML5| Chromium项目Committer重磅作品) 朱永盛 著   ISBN 978-7-121-22964-0 2014年6月出版 定价:7 ...

  4. fedora环境安装webkit支持作爬虫下载解析JS

    环境: 我使用的fedora19.1-xfce版本,属于redhat系的桌面环境. 1.安装 webkit源码安装webkit失败,这里提供的是yum安装方式. a.查看当前yum库中的webkit资 ...

  5. [转]开发者需要了解的WebKit(mark)

    以下内容转自:http://www.infoq.com/cn/articles/webkit-for-developers -------------------------------------- ...

  6. 开发者需要了解的WebKit

    2013-3-22 22:37| 发布者: sxwgf| 查看: 575| 评论: 0|来自: infoq 摘要: Paul Irish是著名的前端开发工程师,同时他也是Chrome开发者关系团队成员 ...

  7. 理解WebKit和Chromium(电子书)

    前言   基础篇 WebKit, WebKit2, Chromium和Chrome介绍 WebKit和Blink WebKit和Chromium代码目录结构介绍 WebKit和Chromium功能模块 ...

  8. WebKit HTML、CSS、JS

    开发者需要了解的WebKit https://www.infoq.cn/article/webkit-for-developers 开发者需要了解的 WebKit   彭超 2013 年 3 月 18 ...

  9. 200 ok 几种状态

    浏览器加载资源成功一般会有几种状态 200 ok   ----  从原始服务器请求成功 200 ok from cache    ---- 200 ok from disk cache  ---- 2 ...

随机推荐

  1. zabbix历史数据全部清楚

    #这种方法会出现 监控项不可用的情况 1.停掉zabbix_server 2.重重名表 RENAME TABLE history to history_20180117; RENAME TABLE h ...

  2. angularjs &登录跳转

    如果要使用$location,$stateParams,那么必须有相应形参controller: function ($rootScope, $http, $scope, $state,$locati ...

  3. css3动画的性能优化

    目前对提升移动端CSS3动画体验的主要方法有几点:尽可能多的利用硬件能力,如使用3D变形来开启GPU加速 -webkit-transform: translate3d(0, 0, 0); -moz-t ...

  4. QC10迁移到ALM11

    转自原作者 http://blog.csdn.net/yhqun/article/details/6981250 服务器A:QC9或QC10服务器B:QC9或QC10 DB Server服务器C:AL ...

  5. 自定义jQuery Mobile工具栏按钮

    自定义jQuery Mobile工具栏按钮 1.实现效果

  6. SCI小论文投稿记录

    英文小论文投的是SCI 3区的一个刊物,收录在spring,ei等, 投稿的时候2019/2/3影响因子2.8左右 现在2019/8/13  影响因子3.844 先科普下论文的各个状态 1. Subm ...

  7. java 并发——CountDownLatch

    java 并发--CountDownLatch 简介 public class CountDownLatch { private final Sync sync; private static fin ...

  8. 数据持久化之轻量级Kv持久化(二)

    阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从以下两个内容来介绍轻量级Kv持久化: [SharedPre ...

  9. spark性能调优02-JVM调优

    1.降低cache操作的内存占比 1.1 为什么要降低cache操作的内存占比 spark的堆内存分别两部分,一部分用来给Rdd的缓存进行使用,另一部分供spark算子函数运行使用,存放函数中的对象 ...

  10. CSS 中的各种居中 (水平、垂直)

    导读: CSS 的居中有水平居中和垂直居中,这两种居中又分为行内元素居中和块级元素居中.根据父.子元素的高度是否清楚,又会使得不同的居中用不同方法.本文就其中一些情况做下简单说明,以作笔记之用,仅供大 ...