探索WebKit内核(一)------ 菜鸟起步
为什么搞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的资料实在不多。
怎样起步
- 学习文章:http://paulirish.com/2013/webkit-for-developers/,当然也有中文版本号:http://www.infoq.com/cn/articles/webkit-for-developers,弄清楚WebKit的几个概念
- 准备一台CPU和硬盘较好的电脑,CPU是为了应付编译,硬盘是为了应付大规模代码的訪问(去年7月份买的mac已不够用,特地为此换了SSD)
- 开发平台最好是Xcode,Visual Studio也行,只是可能会遇到非常多坎、
- 准备一本C++ Primmer Plus放在手边,研究WebKit同一时候顺便把C++也给解决了
- 给予足够的耐心,应付漫长的源代码下载和编译
好了,就这么多,能够开工了。关于怎样编译和调试等问题,我会在兴许文章中具体介绍。
开工之前的扫盲
WebKit port

学习平台的选择
開始动手
- 升级Mac OSX和Xcode至最新版本号,我的是Mountain Lion 10.8.3和Xcode 4.6。做这个是由于我的一个哥们用的是lion,用的一样的步骤,但启动后一直报内存訪问错误,升级系统至最新后就解决了。当然,别忘记了xcode command line
- 取得最新代码:svn checkout https://svn.webkit.org/repository/webkit/trunk 当然,这个过程是须要耐心的,特别是下载layout test时,为了将来的一马平川,忍忍吧
- Xcode的菜单File->Workspace Settings->Build->Derived Data Location一栏选择Workspace-relative,并输入WebKitBuild->Done
- Xcode的菜单Product->Scheme->Edit Scheme->选择scheme: All Source(target WebProcess), Exceutable选择WebProcess.app
假设你是下载的是最新代码,环境搭建仅仅仅仅须要以上几步,当你点击Run后,就能够開始顺利编译,最后会弹出Safari,实际上它的run的是webkit内核,须要一个Safari来作UI层。WebKit也提供了一个MiniBrowser,这就和Safari没关系了,启动方法就是在第四步上的Exceutable选择MiniBrowser.app就可以。我当初基于的代码会有些其它的问题,这里就不干扰大家了,假设有遇雷的请把错误贴出来,我看看遇到过没。
探索WebKit内核(一)------ 菜鸟起步的更多相关文章
- 八大Webkit内核浏览器
列举出时下最流行的Webkit内核浏览器,所以我们并不会做出评测和对比.PS:本文列举的浏览器有一部分为IE+Webkit双核浏览器,如果您对其他IE内核浏览器很感兴趣<抛弃数据!用体验和感觉告 ...
- 探索WebKit核心(一)------ 新秀开始
为什么WebKit 现在,研究人员WebKit越来越多的人,我不能逃脱,其中还增加.WebKit也多亏了流行的浏览器和WebOS乱斗.随着Palm WebOS, Chrome OS, Firefox ...
- [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析
[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...
- 给Webkit内核的浏览器控件增加互交功能
转载请说明出处,谢谢~~ 昨天封装了基于webkit的wke浏览器内核,做成了duilib的浏览器控件,实现了浏览功能,但是单单的浏览功能还不满足需求,在我的仿酷狗项目中乐库的功能需要与浏览器互交. ...
- WebKit内核分析之Page
参考地址:http://blog.csdn.net/dlmu2001/article/details/6213377 注:本系列博客是在原博主博客基础上增加了自己的理解和片段,可以看源博文获得清晰的结 ...
- iOS:WebKit内核框架的应用与解析
原文:http://www.cnblogs.com/fengmin/p/5737355.html 一.摘要: WebKit是iOS8之后引入的专门负责处理网页视图的框架,其比UIWebView更加强大 ...
- 【转】.NET多种WebKit内核/Blink内核浏览器初步测评报告
第1篇:.NET多种WebKit内核/Blink内核浏览器初步测评报告 本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23590 报告研究时间:2013-10- ...
- 如何让360、遨游、猎豹等双核浏览器默认以webkit内核渲染网页?
众知目前国内不少浏览器都自称双核,一般是 IE(Trident)+Webkit.因为 webkit 急速的体验和对 HTML5 的支持,有些情况下开发者可能希望用户优先甚至只使用 webkit 内核渲 ...
- 将webkit内核封装为duilib的浏览器控件
转载请说明出处,谢谢~~ 原本的duilib是自带浏览器控件的,但是使用了IE内核,我在做仿酷狗音乐播放器时,在右侧乐库要用到浏览器控件,而我使用自带的IE控件却发现了不少缺点,这也是duilib一直 ...
随机推荐
- TCP/IP入门学习(2)---OSI分层
一.会话层以上的处理 1.表示层 将数据从主机特有的格式转换为网络标准传输格式.以此使得不同环境之间的通信成为可能. 2.会话层 即决定使用哪个连接或者哪种连接方式将数据发送出去.会话层也会在数首部添 ...
- DM8168 debug continue... ...
1.boot VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "n ...
- Java设计模式之——单例模式
引自百度百科: 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类. 通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系 ...
- MATLAB conv2卷积的实现
MATLAB conv2卷积的实现 二维卷积的算法原理比较简单,参考任意一本数字信号处理的书籍,而matlab的conv2函数的滤波有个形状参数,用下面的一张图很能说明问题: 这里给出一种最原始的实现 ...
- [Android应用]《花界》V1.0 正式版隆重发布!
http://www.cnblogs.com/qianxudetianxia/archive/2012/04/05/2433669.html 1. 软件说明(1). 花界是一款看花软件:“看花,议花, ...
- 深入解析java虚拟机-jvm运行机制
转自oschina 一:JVM基础概念 JVM(Java虚拟机)一种用于计算设备的规范,可用不同的方式(软件或硬件)加以实现.编译虚拟机的指令集与编译微处理器的指令集非常类似.Java虚拟机包括一套字 ...
- 看了一下安装文件. 是qt4python 下用了 webkit,包装了bootstrap
Pg9.6 安装包里的pgadmin4 反正软件是开源的,慢慢看源码呗.
- NavigationDrawer+Fragment实现侧滑菜单效果
学习了NavigationDrawer 官方Support包中的SlidingMenu版本,练了下手.用到了ListView中item不同的布局 以后会升级加上ViewPager和GridView实现 ...
- 利用CMake生成动态或静态链接库工程
install解释: TARGETS版本的install命令 install(TARGETS targets... [EXPORT <export-name>] [[ARCHIVE|LIB ...
- CENTOS6.5 teamviewer安装
官网https://www.teamviewer.com/en/download/linux.aspx下载此版本:RedHat, CentOS, Fedora, SUSE