KHTML
| 开发者 | KDE |
|---|---|
| 源代码库 | |
| 编程语言 | C++ |
| 操作系统 | 跨平台 |
| 类型 | 排版引擎 |
| 许可协议 | GNU较宽松公共授权条款 |
KHTML是一款已停止开发的浏览器引擎,由KDE项目所开发[1]。它起源于1990年代后期,最初作为Konqueror浏览器的引擎,但其活跃开发于2016年停止[2]。KHTML在2023年正式宣布弃用[1]。KHTML建构于KParts框架之上并以C++编写,在全盛时期对网页标准有着相当不错的支持。从KHTML分支出来的引擎被现今大多数主流浏览器所采用,包括WebKit(Safari)以及Blink(Google Chrome、Microsoft Edge、Opera、Vivaldi与Brave)。
历史
[编辑]起源
[编辑]KHTML的前身是由Torben Weis与Martin Jones开发的“khtmlw”(或称为KDE HTML Widget)引擎[3][4],该引擎实现了对HTML3.2、HTTP1.0及HTML框架的支持,但并不支持DOM、CSS或JavaScript。
KHTML本身诞生于1998年11月4日[3],它是从khtmlw函数库分叉而来,进行了一些轻量化的重构,并增加了Unicode支持以及为了迁移至Qt 2所做的变更。Waldo Bastian[5]是当时建立早期版本KHTML的开发者之一[3]。
重写与改进
[编辑]KHTML真正的开发工作实际上始于1999年5月至10月间,当时项目意识到面临的选择是“要不投入大量资源推动KHTML进展,要不就使用Gecko”[3],并将加入JavaScript支持列为最高优先事项。因此在1999年5月,Lars Knoll[6]开始进行以实现DOM规范为目标的研究,最后于1999年8月16日宣布[7]他已经提交了[8]相当于完全重写KHTML函数库的代码——将KHTML改为使用标准DOM作为其内部文件表示结构。这进而让1999年10月开始能加入初步的JavaScript支持[3],随后不久便由Harri Porten集成了KJS。
在1999年的最后几个月与2000年的最初几个月中,Knoll与Antti Koivisto及Dirk Mueller[3][9][10]进一步合作以加入CSS支持,并优化且稳定KHTML的架构[3],大部分工作于2000年3月完成。这些改进使KHTML成为继Internet Explorer之后,第二个正确支持希伯来语、阿拉伯语及由右至左书写语言的浏览器[3]——且早于Gecko提供相关支持。
KDE 2.0是第一个包含KHTML的KDE版本(于2000年10月23日发布)[11](作为新版Konqueror文件与网页浏览器的渲染引擎,该软件取代了单体式的KDE文件管理器)。
其他模块
[编辑]KSVG最初由Nikolas Zimmermann与Rob Buis于2001年开发,然而到2003年,决定将当时的KSVG实现分叉为两个新项目:KDOM/KSVG2(旨在SVG1.0渲染状态下改进KHTML的DOM渲染状况)以及Kcanvas(旨在将khtml/ksvg2内的任何渲染抽象化到单一共享函数库中,并提供多种后端,例如Cairo/Qt等)[12]。
停止维护
[编辑]KHTML预定于KDE Frameworks 6中移除[2]。主动开发已于2016年结束,仅保留配合Frameworks 5更新所需的必要维护。该引擎于2023年正式停止支持[1]。
标准兼容性
[编辑]KHTML引擎支持下列标准:
参考资料
[编辑]- ^ 1.0 1.1 1.2 KHTML repository. GitHub. [5 May 2023].
Removed for KF6, the 'kf5' branch contains the last maintained state.
- ^ 2.0 2.1 Port Konqueror away from KHTML. phabricator.kde.org. [2023-05-05].
- ^ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Lars Knoll and George Staikos: From KDE to WebKit. YouTube. 26 August 2011 [1 September 2019].
- ^ KDE/kde1-kdelibs/khtmlw. GitHub. [2020-01-23] (英语).
- ^ Waldo Bastian. Behindkde.org. [1 September 2019]. (原始内容存档于11 April 2023).
- ^ Lars Knoll. Behindkde.org. [1 September 2019]. (原始内容存档于1 September 2019).
- ^ 'changes in KHTML' - MARC. Marc.info. [1 September 2019].
- ^ 'khtml_to_dom: kdelibs/khtml' - MARC. Marc.info. [1 September 2019].
- ^ WebKit Team – WebKit. Trac.webkit.org. [1 September 2019].
- ^ Dirk Mueller. Behindkde.org. [1 September 2019]. (原始内容存档于1 September 2019).
- ^ Lars Knoll and George Staikos: From KDE to WebKit. YouTube. 26 August 2011 [1 September 2019].
- ^ Archived copy. [2008-11-17]. (原始内容存档于2016-03-03).
- ^ The WebKit Open Source Project. Webkit.org. 7 November 2015 [1 September 2019].
- ^ KDE 3.5.6 Changelog. K Desktop Environment.
外部链接
[编辑]- Konqueror the Web Browser (页面存档备份,存于互联网档案馆) - Konqueror手册中的KHTML功能列表
- KHTML - KDE's HTML library (页面存档备份,存于互联网档案馆) - 来自developer.kde.org的定义
- The WebKit Open Source Project