将Web应用程序部署为独立可执行文件

8
我有一个使用Google Web Toolkit (GWT)开发的Web应用程序,它是一个实用工具,可以在计划特定服务器部署时帮助进行计算。我想将这个应用程序作为下载提供给那些想要使用该应用程序但不总是有互联网访问权限的人。
我以前能够通过将GWT编译的所有文件(html和js)打包到Nullsoft Installer Script (NSIS)中来实现此目的,然后将它们提取到临时目录并告诉Windows使用默认浏览器打开主html文件。
最近,这给我带来了问题,似乎有些浏览器根本不在意,而其他浏览器则有自己的怪癖和问题,使应用程序无法使用。
这个应用程序只需要1个服务器调用来获取包含计算配置数据的xml文件。有一个小的php组件允许用户保存和加载先前的配置,但对于离线独立可执行部署来说,禁用此功能不是问题。
我的问题是,是否存在一个现有的框架,可以允许我将我的应用程序与嵌入式Web服务器一起打包,以便运行应用程序时它实际上正在本地Web服务器上运行?或者是否存在一个现有的框架,可以将Web应用程序嵌入到可重新分发的浏览器中,以便用户尝试打开应用程序时自动打开打包的浏览器,这样我就可以通过打包的浏览器来微调离线体验,以始终按预期工作。
感谢任何回复。
4个回答

3
如果IE不是有问题的浏览器之一,您可以创建一个小的.NET应用程序,嵌入一个Web浏览器控件并将其打开到所需页面。 您甚至可以尝试使用Gecko来实现这一点。

http://code.google.com/p/geckofx/


1
谢谢您的回答。根据您的建议,我找到了一个类似的解决方案,也利用了XUL runner。我决定构建一个简单的专用Web浏览器应用程序,它利用了wxWebConnect,因为我在过去5年中一直在使用wxWidgets工作,并且能够发布Mac版本和Windows版本的能力非常棒。我应该能够打包这个专用浏览器并将其设置为始终打开本地版本的网站(仅HTML和JS),这将使我专注于离线兼容性的一个浏览器技术。 - snctln

1

我点赞了这个帖子,因为我对找到解决方案非常感兴趣。就在一天前,我也在思考这个问题。据我所知,部署需要某种独立的Web服务器来处理文件的Web应用程序是不可能的。你说它主要是用JavaScript编写的,并且你不介意杀掉PHP功能 - 在这种情况下,Adobe AIR可能是一个简单的解决方案(语法与JS非常相似,如果你熟悉它,应该很快转换)。但基本上,根据我的理解,你将不得不进行移植。


0

0

我猜你使用gwt,所以你的逻辑是用Java编写的?

你肯定可以将所有需要的组件打包到某种标准的Java运行时中,对吧?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接