我正在为一个客户端开发一个桌面软件,我正在考虑用户界面,我会使用像HTML5 + JS这样的标准网络技术,并计划简单地打包一个现代浏览器的无头版本,如Chrome / Firefox我的软件。例如,它只是浏览器的页面查看器/呈现引擎部分,没有边框/菜单/标签/快捷方式/配置文件等。以平台无关的方式实现此目的的最简单方法是什么。我知道Mozilla有像Prism / Chromeless这样的项目,但是一年多来都没有更新过。
答案 0 :(得分:1)
您是否考虑过Mozilla的XUL语言?它是Mozilla项目中用于构建其用户界面的XML语言。它由他们的gecko引擎在独立的Mozilla Xulrunner中呈现,可以将您的XML和javascript打包到可执行包中。
答案 1 :(得分:1)
如果尺寸不是问题,您可以使用http://www.appcelerator.com/中的钛
它几乎可以在每个平台上运行。这就是他们用来建立奇妙清单的方式。 http://www.6wunderkinder.com/wunderlist/
如果你关心大小,你可以构建一个简单的包装器,它启动用户首选的浏览器而不需要任何控件和工具栏。
答案 2 :(得分:1)
QtWebkit应该是一个合理的选择。您可以使用Qt SDK或QtCreator创建一个简单的应用程序。您可以将HTML / CSS / JS嵌入到Qt资源文件中的应用程序中。 请检查以下源代码:
#include <QtGui/QApplication>
#include <QWebView>
#include <QNetworkProxy>
class MainWin : public QWebView
{
public:
explicit MainWin(QWidget * parent = 0) {
m_network = new QNetworkAccessManager(this);
// Setup the network proxy when required!
//m_network->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, "10.1.1.80", 80));
page()->setNetworkAccessManager(m_network);
// You can use the internal HTML/Javascrip/CSS by
// specify qrc:// URLs refer to resources. See resource.qrc
QUrl startURL = QUrl("http://www.google.com");
// Load web content now!
setUrl(startURL);
}
private:
QNetworkAccessManager * m_network;
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWin w;
w.show();
return a.exec();
}
这是一个带窗框的工作示例! 它就像浏览器一样工作。
答案 3 :(得分:0)
答案 4 :(得分:0)
我想我会在你的情况下选择Arora。它自2010年以来一直没有得到维护,但假设它运行稳定,它有一些很棒的优点:
它运行在令人印象深刻的平台上,并且具有良好的HTML和Javascript兼容性,因为它基于Webkit。 (建立在哪个苹果Safari之上。)此外,任何小问题都可能可以解决,因为你应该从头开始或多或少地开发你的应用程序。像你这样的方法的好处还在于,如果适合你,你可以很容易地用未来的其他东西替换捆绑的浏览器。
或者使用Qt,这是非常跨平台的,可以also embed Webkit。
答案 5 :(得分:0)
我已经过去了,我已经将WebKit用于此目的(依赖于Cocoa中的系统WebView控件,并使用Brent Fulgham's Cairo port of WebKit用于Windows)。
webkit.org上的WebKit项目包括该端口(以及Qt和GTK +以及许多其他端口)。
答案 6 :(得分:0)
我建议使用Adobe AIR。我看到你提到你不喜欢Adobe产品及其昂贵的IDE。但是,AIR是免费的,您可以使用任何您认为合适的IDE(Aptana是构建在Eclipse之上的不错选择。)
我用Adobe AIR做过音乐播放器。那是大约一年前,从那以后他们已经释放了Adobe AIR 3。完整的功能列表非常长,但简而言之,它支持通常的浏览器内容(JS,Flex等)和一些原生内容。例如,您可以浏览计算机上的文件或显示PDF。值得一试。
答案 7 :(得分:0)
必须是一个浏览器吗?考虑在Windows上使用OSX和IE上的IE。然后你可以用一个小接口制作一个小包装器。好处是您不必打包自己的浏览器,而是使用操作系统提供的内容,从而产生较小的程序。
答案 8 :(得分:0)
近来电子是最好的:http://electron.atom.io/