嵌入式浏览器Konqueror/E的实现
发布时间:2007/8/28 0:00:00 访问次数:786
来源:电子产品世界 作者:陆云昆 余健 赵力 邹采荣
摘 要: Konqueror/embedded是针对嵌入式Linux的开放源码浏览器,也是符合GNU条款的自由软件。本文首先对该浏览器技术核心做了简要分析,然后详细介绍了Konqueror/embedded在ARM-Linux操作系统上的移植和汉化过程。
关键词: Konqueror嵌入式浏览器ARM-Linux移植汉化
1 Konqueror/E概述
随着网络科技的进步,因特网与无线网络的融合将成为必然趋势。要在嵌入式设备上访问因特网,浏览器是必不可少的。目前,嵌入式浏览器已经逐渐成为高端手机和PDA的标准配置。嵌入式浏览器的另一大作用就是在网页中利用CGI(CommonGateway Interface:公用网关接口)来调用其他可执行程序。这样控制页面可以做的很美观,而且可扩展性好。
现在已经面市的嵌入式浏览器大多市商业版本的,如Opera、MS Explorer等。而Konqueror/embedded是符合GNU条款的自由软件。Konqueror/embedded是针对嵌入式Linux,由著名的桌面操作环境KDE下的浏览器Konqueror派生出来的。Konqueror/embedded将Konqueror中关于KHTML,SSL(Security Socket Layer:安全套接层),Javascript等内容继承下来,同时简化了Konqueror中很多类的定义,剔除了原来KDElib部分,以适应在不同的嵌入式平台下能构成功移植和运行。Konqueror/embedded完整地支持HTML4(Hypertext Markup Language:超文本链接标示语言)和CSSL(Cascading Style Sheets:层叠样式表单)部分支持CSS2、JavaScript(ECMAScript 262)、cookies、SSL、IPv6;支持和管理兼容的XBEL的书签,并且能够很好地支持中文网页浏览。而且还可以将Konqueror/embedded作为一个flashpalyer、pppdialer或文件管理器来使用。
图1 Konqueror/E运行界面
图1为Konqueror/embedded在Embedded-Linux平台上运行界面。
Konqueror/embedded作为嵌入式Linux操作系统的首选浏览器,被广泛的使用。但是由于该浏览器是自由软件,因此向具体嵌入式平台移植时存在一定的难度。本文第三部分详细的介绍了Konqueror/embedded向ARM-Linux平台上的整个移植和汉化过程,以便开发者参考和使用。
2 Konqueror/E的结构
Konqueror/embedded是由底层网络连接,图形化用户界面和处理HTML绘制的引擎-KHTML构成的。底层的通信协议实现是基于KIO/slave机制来实现的;GUI界面采用可Kparts组建技术和Qt的基本构件;而作为Konqueror/embedded的核心-KHTML则运用了文档对象模型(DOM)所提供的API接口,并在DOM树上挂接javascript引擎,CSS解析器以及渲染引擎。
Konqueror/embedded的层次结构如图2所示。
图2 Konqueror/embedded的层次结构
(1)Kparts及QT构件实现GUI
在KDE中,部件被称为part,这和MS中的OLE组件是一个概念。一个part通常包含三个部分:一个窗口、功能、以及使用该功能的用户接口。应用在浏览器项目中,part 包含了多个窗口(一个页面对应于一个 part,而一个页面有可能包含多个窗口)、part 提供的功能包括:页内、页间的跳转、重定向、窗口的创建和删除、用户的输入处理、剪切、粘贴等,同时为使用这些功能提供了菜单、工具条、状态条等用户接口。其他的应用程序可以使用该 part 把浏览器窗口嵌入自己的应用中。
为了方便地实现将现有应用作为一个控件插入到另外一个应用中去,采用了 part 对象负责管理整个应用和窗口。对于每个窗口又采取了类似 Microsoft MFC 中的 Doc-View 结构。因此在将应用嵌入到另外一个应用中的时候,只需要获得 part 中的接口和数据即可。对窗口的一切操作的响应由被嵌入应用的 part 对象来完成,而类 Doc-View 结构只简单的负责显示和保存显示数据就可以了。
Kpart 定义了一系列简单的类:part、plugin、mainwindow、part manager。其中:
a) Part:是 KDE 中的部件。为了定义一个Part,你需要提供widget,当然还有提供访问Part功能的Actions,还要有一个XML文件来描述在UI中Actions的布局。
b) Plugin:它是一小段功能程序,不通过嵌入一个Widget来实现。但是定义了应用程序用户接口对应的动作。它可以是图形的,比如弹出的对话框、拼写检查等。
c) Mainwindow:它是一个特殊的KTMainWindow,它的具有Action定义的UI是由XML文件来描述的,这样它可以通过弥合XML文件来嵌入Part对象。
d) Part manager:它是一个抽象的类,用来处理激活还是禁止 part。它只有在一个 mainwindow 中包含多个 part 的时候才有用。
由于Konqueror/embedded是基于图形库QT/E
来源:电子产品世界 作者:陆云昆 余健 赵力 邹采荣
摘 要: Konqueror/embedded是针对嵌入式Linux的开放源码浏览器,也是符合GNU条款的自由软件。本文首先对该浏览器技术核心做了简要分析,然后详细介绍了Konqueror/embedded在ARM-Linux操作系统上的移植和汉化过程。
关键词: Konqueror嵌入式浏览器ARM-Linux移植汉化
1 Konqueror/E概述
随着网络科技的进步,因特网与无线网络的融合将成为必然趋势。要在嵌入式设备上访问因特网,浏览器是必不可少的。目前,嵌入式浏览器已经逐渐成为高端手机和PDA的标准配置。嵌入式浏览器的另一大作用就是在网页中利用CGI(CommonGateway Interface:公用网关接口)来调用其他可执行程序。这样控制页面可以做的很美观,而且可扩展性好。
现在已经面市的嵌入式浏览器大多市商业版本的,如Opera、MS Explorer等。而Konqueror/embedded是符合GNU条款的自由软件。Konqueror/embedded是针对嵌入式Linux,由著名的桌面操作环境KDE下的浏览器Konqueror派生出来的。Konqueror/embedded将Konqueror中关于KHTML,SSL(Security Socket Layer:安全套接层),Javascript等内容继承下来,同时简化了Konqueror中很多类的定义,剔除了原来KDElib部分,以适应在不同的嵌入式平台下能构成功移植和运行。Konqueror/embedded完整地支持HTML4(Hypertext Markup Language:超文本链接标示语言)和CSSL(Cascading Style Sheets:层叠样式表单)部分支持CSS2、JavaScript(ECMAScript 262)、cookies、SSL、IPv6;支持和管理兼容的XBEL的书签,并且能够很好地支持中文网页浏览。而且还可以将Konqueror/embedded作为一个flashpalyer、pppdialer或文件管理器来使用。
图1 Konqueror/E运行界面
图1为Konqueror/embedded在Embedded-Linux平台上运行界面。
Konqueror/embedded作为嵌入式Linux操作系统的首选浏览器,被广泛的使用。但是由于该浏览器是自由软件,因此向具体嵌入式平台移植时存在一定的难度。本文第三部分详细的介绍了Konqueror/embedded向ARM-Linux平台上的整个移植和汉化过程,以便开发者参考和使用。
2 Konqueror/E的结构
Konqueror/embedded是由底层网络连接,图形化用户界面和处理HTML绘制的引擎-KHTML构成的。底层的通信协议实现是基于KIO/slave机制来实现的;GUI界面采用可Kparts组建技术和Qt的基本构件;而作为Konqueror/embedded的核心-KHTML则运用了文档对象模型(DOM)所提供的API接口,并在DOM树上挂接javascript引擎,CSS解析器以及渲染引擎。
Konqueror/embedded的层次结构如图2所示。
图2 Konqueror/embedded的层次结构
(1)Kparts及QT构件实现GUI
在KDE中,部件被称为part,这和MS中的OLE组件是一个概念。一个part通常包含三个部分:一个窗口、功能、以及使用该功能的用户接口。应用在浏览器项目中,part 包含了多个窗口(一个页面对应于一个 part,而一个页面有可能包含多个窗口)、part 提供的功能包括:页内、页间的跳转、重定向、窗口的创建和删除、用户的输入处理、剪切、粘贴等,同时为使用这些功能提供了菜单、工具条、状态条等用户接口。其他的应用程序可以使用该 part 把浏览器窗口嵌入自己的应用中。
为了方便地实现将现有应用作为一个控件插入到另外一个应用中去,采用了 part 对象负责管理整个应用和窗口。对于每个窗口又采取了类似 Microsoft MFC 中的 Doc-View 结构。因此在将应用嵌入到另外一个应用中的时候,只需要获得 part 中的接口和数据即可。对窗口的一切操作的响应由被嵌入应用的 part 对象来完成,而类 Doc-View 结构只简单的负责显示和保存显示数据就可以了。
Kpart 定义了一系列简单的类:part、plugin、mainwindow、part manager。其中:
a) Part:是 KDE 中的部件。为了定义一个Part,你需要提供widget,当然还有提供访问Part功能的Actions,还要有一个XML文件来描述在UI中Actions的布局。
b) Plugin:它是一小段功能程序,不通过嵌入一个Widget来实现。但是定义了应用程序用户接口对应的动作。它可以是图形的,比如弹出的对话框、拼写检查等。
c) Mainwindow:它是一个特殊的KTMainWindow,它的具有Action定义的UI是由XML文件来描述的,这样它可以通过弥合XML文件来嵌入Part对象。
d) Part manager:它是一个抽象的类,用来处理激活还是禁止 part。它只有在一个 mainwindow 中包含多个 part 的时候才有用。
由于Konqueror/embedded是基于图形库QT/E
上一篇:中国集成电路发展的出路在哪里?