我需要创建一个跨平台(Win,Mac和Linux)应用程序,嵌入一个支持HTML5和WebGL的WebKit浏览器。 到目前为止,我使用Java / SWT方式,但是在Windows上使用webkit只能部分实现(仅限win32,仅限safari 5)并且支持html5,而且根本没有3D。
在linux中,我成功地将webkit2gtk3与vala中的WebGL支持嵌入,如下所示:
using GLib;
using Gtk;
using WebKit;
public class Browser : Window {
private const string URL = "http://lo-th.github.io/Oimo.js/index.html";
public Browser() {
this.add(this.create_web_window());
this.destroy.connect(Gtk.main_quit);
}
private ScrolledWindow create_web_window() {
var view = new WebView();
view.get_settings().set_enable_webgl(true);
view.load_uri(Browser.URL);
var scrolled_window = new ScrolledWindow(null, null);
scrolled_window.set_policy(PolicyType.AUTOMATIC, PolicyType.AUTOMATIC);
scrolled_window.add(view);
return scrolled_window;
}
public static int main(string[] args) {
Gtk.init(ref args);
var browser = new Browser();
browser.resize(800,600);
browser.show_all();
Gtk.main();
return 0;
}
}
用
编译valac --vapidir=. --pkg gtk+-3.0 --pkg webkit2gtk-3.0 --thread hellowebkit.vala
我也像这样成功使用python:
#!/usr/bin/env python
import gtk, webkit
w = gtk.Window()
w.set_title("Example Editor")
w.connect("destroy", gtk.main_quit)
w.resize(800,600)
scroll = gtk.ScrolledWindow()
w.add(scroll)
browser = webkit.WebView()
browser.get_settings().set_property("enable-webgl", True)
scroll.add(browser)
w.show_all()
browser.open("http://lo-th.github.io/Oimo.js/index.html");
gtk.main()
所以现在的问题是:是否有机会(和文档)获得上述任何一项(编译)并在Win32 / 64和OSX中运行并支持WebGL?
答案 0 :(得分:2)
可能这可能会有所帮助
https://github.com/rogerwang/node-webkit
基于Chromium引擎和node.js的App运行时支持HTML5,CSS3,JS和WebGL。 尝试过没有WebGL的简单项目,工作顺利。也很容易设置。
检查此幻灯片共享,可能有助于确定它是否相关
https://speakerdeck.com/zcbenz/node-webkit-app-runtime-based-on-chromium-and-node-dot-js
更新:找到了几个替代品来做类似的事情,还没有尝试过
另一个可能帮助Alternatives to node webkit? (filesize of importance)
的stackoverflow线程答案 1 :(得分:0)
您的 Vala示例使用WebKit2Gtk3。不幸的是,WebKit2Gtk3尚未移植到Windows。 Citing Carlos Garcia Campos:
它总是在我们的TODO列表中,但主要是作为非常低优先级的任务 由于缺乏windows知识,时间和人们感兴趣。任何 为WebKit2GTK +添加Windows支持的贡献将超过 欢迎,当然。
可能只有解决方案是聘请开发人员来完成这项任务: - (
我不确定您的 Python示例中使用了哪个版本的WebKitGtk。 WebKitGtk3应该适用于Windows,WebKit2Gtk3不适用于Windows。但是,我没有在Windows上运行Python / GTK / WebKitGtk应用程序的经验。