这几天折腾跨平台浏览器的技术框架,下面将相关技术抛砖引玉一下:
不仅需要开源的浏览器内核,还需要跨平台支持,而Qt在跨平台方面提供了很好的支持。Qt Web支持Windows, MacOS X和 Linux的版本,而且开源的。虽然 Qt Web没有华丽的界面,但是功能一点都不简单,基本拥有其它浏览器常见到的功能,内置广告拦截功能,开源自定义规则,而且 Qt Web还很重视个人隐私,浏览器提供了隐私浏览功能。下面是QtWebkit模块的框架图(网上复制的):
在下面三层使用的是C++的code去开发,在application层,Qt就可以支持最常用的网页设计三剑客 HTML/CSS/Javascript去开发,这样将可以使数量众多的网页开发人员开发Qt应用成为可能。
这两张图可以看出Qt-webkit和webkit的区别:
1、TextHandling、Painting、Networking采用的Qt的内核
2、更加容易使用Qt的 API
Qt的集成webkit的优势:
1、快速创建包含实时网络内容和服务的应用程序
2、在一个应用程序中集成网络和本地内容
3、可以在不同平台上运行开发的web应用。
浏览器内核(移动平台支持)
虽然Qt目前并没有对官方支持Android和ios平台的的支持,但是一些开源社区已经将Qt的代码移植到Android和ios上,特别是Android社区,已经将Qt对安卓的支持集成到QtCreator(Qt开发IDE)上,IOS平台上的集成也是指日可待。详情请访问:
Qtfor Android配置(Ubuntu11.04)
http://blog.csdn.net/ak47zhangzhiwei/article/details/6566209
设置qt-android开发环境
http://thomasyrq.blog.163.com/blog/static/304628442011231950300/
http://code.google.com/p/android-lighthouse/
http://gitorious.org/+qt-iphone
http://www.myexception.cn/iphone/351326.html
https://gitorious.org/~ibingow/qt/ibingows-qt-ios-plaszma
Qt浏览器开发环境搭建
Qt开发环境和开发工具下载地址:
http://qt.nokia.com/downloads-cn
在各大平台直接下载QtSDK:完整的开发环境即可。
Mac、Window、Linux平台编译
这三个PC平台Qt的支持都比较强大,直接从上文中下载对应平台的QtSDK进行安装,在QtCreator中直接编译浏览器代码,即可产生对应平台的浏览器可执行程序。当前浏览器的代码在linux和Window平台对中文、图片都能支持较好,在Window平台需要加入Qt程序对于插件的编译支持。三个平台的都可以加入对应的flashplayer对应的版本加强对视频解码的支持。
Android平台的编译
Android平台的支持主要是由开源社区支持,其编译过程比较麻烦。首先是操作系统的选择,建议没有Ubuntu环境的开发人员装虚拟机。
第一步:安装ant和jdk
sudo apt-get install ant
sudo apt-get install openjdk-6-jdk
这一步需要特别注意,由于后面用ant进行打包的时候要用到java环境,装ant会默认安装openjdk环境,由于编译的版本比较高,ant打包的版本需要一直,需要从官方下载最新版本安装配置,然后切换系统中java环境的默认版本
第二步:安装necessitasSDK
1)到necessitas下载页(http://sourceforge.net/projects/necessitas/files/)下载最新版SDKinstaller
2)对下载的installer加运行属性并运行:
chmod +xnecessitas-0.1.1-Linux-x86-Install
./necessitas-0.1.1-Linux-x86-Install
安装完之后:/root/NecessitasQtSDK文件夹下。
root@ubuntu:~/NecessitasQtSDK# ls
Android components.xml SDKMaintenanceTool.dat
android-ndk-r6b InstallationLog.txt SDKMaintenanceTool.ini
android-sdk QtCreator
apache-ant-1.8.2 SDKMaintenanceTool
第三步:安装Android支持库
root@ubuntu:~/NecessitasQtSDK# cd android-sdk/tools/
root@ubuntu:~/NecessitasQtSDK/android-sdk/tools#./android
后记:zaiQt的实例代码里就有浏览器,建议大家去开源社区下载基于Qt写的浏览器来编译,总的说来在PC平台的编译都比较简单,费工夫的是Android平台,开始在window平台弄,搞了半天发现里面编译好的Qt库都是.so后缀的,这是linux中编译的,所以只有安装Ubuntu的Android开发环境,至于IOS目前已经有人在做开源的支持,希望能够早点弄出来。