我有点难以理解WebKit,WebKitGTK,GTK与不同版本的关系。这是我到目前为止:
#include <webkit/webkit.h>
?您必须区分版本号和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.x.x仍支持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。这个选项应该是最具前瞻性的。
WebKit的唯一Linux端口是WebKit2-GTK3。所有其他人都死了,没有收到安全更新,这使得他们成为黑客的琐碎目标。如果您的应用程序依赖于Linux上其他版本的WebKit,请将其卸载。故事结局。
是的,WebKit2 API功能不强。那是无关紧要的。如果你被困在WebKit1上,请抛弃它并且: