我有一个使用Google Web Toolkit(GWT)开发的Web应用程序,它是一个实用程序应用程序,可帮助在规划特定服务器部署时进行计算。我希望能够在我的网站上为需要使用该应用程序的人提供此应用程序,但并不总是可以访问互联网。
我以前能够通过将GWT编译的所有文件(html和js)打包成Nullsoft安装程序脚本(NSIS)来实现这一目的,该脚本只是将它们提取到临时目录然后告诉Windows打开主html文件无论什么浏览器是默认的。
最近这给了我一些问题,似乎有些浏览器根本不介意这一点,而其他浏览器有自己的怪癖和问题,使应用程序无用。
此应用程序仅进行1次服务器调用以获取xml文件,该文件包含有关如何进行计算的配置数据。有一个小的PHP组件允许用户保存和加载以前的配置,但禁用此功能进行脱机独立可执行部署不是问题。
所以我的问题是,是否有一个现有的框架允许我将我的应用程序与嵌入式Web服务器打包在一起,这样当应用程序运行时它实际上是在本地Web服务器上运行的?或者是否存在将Web应用程序嵌入到可再发行的浏览器中的现有框架,以便当用户尝试打开应用程序时它会自动打开打包的浏览器,这样我就可以微调离线体验以始终按需运行使用打包的浏览器。
感谢您的回复
答案 0 :(得分:3)
如果IE不是问题浏览器之一,您可以创建一个嵌入Web浏览器控件并将其打开到所需页面的小型.NET应用程序。
您甚至可以使用Gecko实现这一目标:
答案 1 :(得分:1)
我赞成这一点,因为我对寻找解决方案非常感兴趣。这在一天前就在我的脑海里。根据我的想法,部署一个需要某种类型的独立Web服务器才能处理文件的Web应用程序是不可能的。你说它主要是在JavaScript中,你不介意杀掉PHP功能 - 在这种情况下,Adobe AIR可能是一个简单的解决方案(语法与JS非常相似,如果你熟悉它,应该是一个快速转换)。基本上 - 从我的理解 - 你将不得不移植它。
答案 2 :(得分:0)
我认为最简单的方法是使用Google Gears或HTML5存储功能,并为此应用程序添加离线模式。因此,您只需在浏览器中打开一次应用程序并启用脱机访问。然后,它只是使用离线功能。
http://www.w3.org/TR/offline-webapps/ http://www.devcomments.com/HTML5-Offline-GWT-APP-at246553.htm
答案 3 :(得分:0)
我假设因为你正在使用gwt,你的逻辑是用Java编写的吗?
当然,您可以将所需的所有组件打包到某种标准Java运行时吗?