探索WebKit内核(一)

本文介绍了为何越来越多开发者关注WebKit,尤其是在WebOS崛起后。作者讲述了如何起步,包括准备阶段、选择学习平台(推荐从官方WebKit开始)、搭建开发环境,以及对于新手友好的开发步骤。后续将深入探讨WebKit内核的开发和调试过程。
摘要由CSDN通过智能技术生成

为什么搞WebKit

如今研究WebKit的人越来越多,俺不能免俗,也添�当中。WebKit的火爆也是得益于浏览器和WebOS的混战,随着Palm WebOS, Chrome OS, Firefox OS和Ubuntu Mobile相继公布,WebOS逐渐成为Android和IOS之外的第三世界,而WebKit也随之从浏览器内核晋升为Mobile OS的内核,除了IE和Firefox之外,市面上叫得上名字的都是基于WebKit发展起来,Chrome, Safari, Opera, 360......。因此,不管你是从事浏览器还是Mobile的开发,WebKit都是不二的选择。而我眼下是由于须要在WebOS上提供一个相似与Chrome for android那样能够远程debug的功能,而接触到WebKit,随着不断深入,也逐渐步入WebKit的开发正轨,也是想把近期的学习历程记录下来,也是帮助其它朋友进这个大门,WebKit的资料实在不多。

怎样起步

我就假定你和我一样,从没接触过WebKit,没写过c/c++,被Java/PHP等傻瓜式语言惯坏了,对设备底层技术不甚了解,在这种情况下(不可能比这个更糟了),也是能够在一周左右入这个门槛的。正式开工之前先准备以下几步:

好了,就这么多,能够开工了。关于怎样编译和调试等问题,我会在兴许文章中具体介绍。

开工之前的扫盲

WebKit port

WebKit已发展为相似与Linux这样平台性的框架,已不是单一产品类型的开源项目。它是一个标准和变异的结合体。以下这张图能非常好说明这点:

WebKit提供了像这张图这种标准架构和WebCore这种核心库,但灰色的其它部分都是要依据各自平台的不同而进行替换和移植,也就是谈及非常多的port,这里谈的平台就是各自设备的执行环境,比方mac os x,Android和IOS,因此尽管咱是用WebKit,但能够做的事情还有非常多,WebKit仅仅是提供了流程和框架,里面有非常多洞须要咱自己去填补的。比方,我如今做的远程调试功能,在WebKit里面已在流程上支持,但具体实现上是须要port的,也就导致了仅仅有chrome for android和safari for IOS支持远程调试。开头介绍的文章中已罗列出哪些点是标准已实现的,哪些点是差异化的,从这里面大概就能估计到须要做哪些东西。

学习平台的选择

官方的WebKit是以Safari for Mac OSX为基础的,Chromium尽管也是基于WebKit,但基本上已是另外一套,还有QT和GTK平台,有非常多浏览器,比方Opera和360都选择了基于Chromium,那对于我们这些刚開始学习的人来说该怎样选择学习的起点呢?我的感觉是,标准的WebKit门槛低一点,文档要丰富一些,但作为将来project的方向,Chromium更受欢迎一些,所以,我推荐以官方的WebKit为起点,然后再延伸到Chromium。后面我会谈开发环境的搭建,基于官方的WebKit,再加上XCode,会感觉手上非常顺滑,不至于像大多数大型开源项目那样在最開始就把你拒之门外。

開始动手

以下我介绍动手的几个步骤,能够在你无需了解细节的情况下,把环境搭起来,大多数包含我自己,都还是习惯于代码和环境搭建好情况下,比較有心情和底气去往下深入,所以耐心地完毕以下几步,你就能够在开发环境中启动WebKit,这里我介绍的是Mac下的情况,但在windows和linux会困难一些,起码我是受阻后就放弃了:

假设你是下载的是最新代码,环境搭建仅仅仅仅须要以上几步,当你点击Run后,就能够開始顺利编译,最后会弹出Safari,实际上它的run的是webkit内核,须要一个Safari来作UI层。WebKit也提供了一个MiniBrowser,这就和Safari没关系了,启动方法就是在第四步上的Exceutable选择MiniBrowser.app就可以。我当初基于的代码会有些其它的问题,这里就不干扰大家了,假设有遇雷的请把错误贴出来,我看看遇到过没。

OK,了解基本概念,搭建好了开发和调试环境,我敢相信不论什么级别菜鸟,都会有信心往下继续深究了。我的理念就是这样,不管后面有多难,千万不要把开头搞得太复杂,这样会拒非常多人之门外,这也是我为什么推荐最開始用xcode的原因,WebKit官方已把编译中全部细节都隐藏在xcode的项目设置和脚本中了。后面,我会基于源代码,逐步深入,和大家一起探究WebKit内核的奇妙和伟大。

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值