Gra*_*ent 8 gtk webkit webkitgtk
我有点难以理解WebKit,WebKitGTK,GTK与不同版本的关系.这是我到目前为止:
WebKit是一个包含WebKit1和WebKit2的库.这包括哪一个#include <webkit/webkit.h>?
WebKitGTK 1.10.2是依赖GTK2的最后一个版本.它仍然保持/发展?
它总是需要得到GTK,Qt或其他工具包的支持吗?或者可以单独使用它吗?
您必须区分版本号和api级别.
1.10.2或者2.2.1- 就是它,只是版本号 - 它与GTK版本或api级别无关.webkit/webkit.h)和webkit2(webkit2/webkit2.h).主要区别在于webkit2使用多进程架构进行渲染,javascript和插件,而不是webkit的单进程架构.WebKitGTK +可以针对GTK + 2或GTK + 3进行编译.这将导致库文件名分别为libwebkitgtk-1.0.so或libwebkitgtk-3.0.so.(这与WebKit本身的版本无关.)但是,webkit2 api依赖于GTK + 3,库文件名就像libwebkit2gtk-3.0.so.
WebKitGTK +和其他端口实现如下内容:
如果要避免任何可用的webkit端口,则需要自己实现所有这些.
PS:WebKitGTK + 2.xx仍然支持GTK + 2
WebKitGTK 是一个“端口”,是的,您实际上确实需要选择几个端口之一,单独使用 webkit 基本上意味着编写自己的端口,这是一项艰巨的工作。在 Linux 上,我建议使用 WebKitGTK 或 QtWebKit。
WebKit 和 WebKit2 是两个完全不同的 Web 引擎 API,它们恰好位于同一源代码树中(整体也称为 WebKit)并使用相同的核心组件。最大的区别是 WebKit2 将 Web 内容处理拆分为不同的进程 - 我相信它也是唯一正在进行认真开发的进程。您实际上不需要在这两者之间进行选择,因为端口通常已经做出选择:您只需使用端口提供的 API 即可。GTK+ 端口曾经位于 Webkit 上,但现在应该使用 WebKit2(但 Webkit API 目前可能仍然存在)。
如果 1.10.2 确实是支持 GTK2 的最后一个版本(请注意,我不知道这是否属实),那么我相当确定它不会得到进一步开发。
编辑:在 debian 上,库选项是:
所以看起来 GTK+ 2 至少在某种程度上仍然受到支持,但是(至少在 debian 上)你只能通过 GTK+ 3 获得 WebKit2 API。该选项应该是最面向未来的。