【问题标题】:Deploy web application as a standalone executable将 Web 应用程序部署为独立的可执行文件
【发布时间】:2010-09-08 20:35:51
【问题描述】:

我有一个使用 Google Web Toolkit (GWT) 开发的 Web 应用程序,它是一个实用程序应用程序,有助于在规划特定服务器部署时进行计算。我希望能够在我的网站上为想要使用该应用程序但不能始终访问互联网的人提供此应用程序的下载。

我以前能够通过将 GWT 编译的所有文件(html 和 js)打包到 Nullsoft 安装程序脚本 (NSIS) 中来实现这一点,该脚本只会将它们提取到临时目录,然后告诉 Windows 打开主 html 文件使用默认浏览器。

最近这给了我一些问题,似乎有些浏览器根本不介意这一点,而其他浏览器则有自己的怪癖和问题,使应用程序无用。

此应用程序仅调用 1 次服务器来获取 xml 文件,该文件包含应如何进行计算的配置数据。有一个小的 php 组件允许用户保存和加载以前的配置,但禁用此功能以进行离线独立可执行部署不是问题。

所以我的问题是,是否有一个现有的框架可以让我将我的应用程序与嵌入式网络服务器一起打包,以便在运行应用程序时它实际上是在本地网络服务器上运行?或者是否存在将 Web 应用程序嵌入可再发行浏览器的现有框架,这样当用户尝试打开应用程序时,它会自动打开打包的浏览器,这样我就可以微调离线体验以始终按需要工作使用打包的浏览器。

感谢任何回复

【问题讨论】:

    标签: php deployment gwt nsis


    【解决方案1】:

    如果 IE 不是问题浏览器之一,您可以创建一个小型 .NET 应用程序,嵌入 Web 浏览器控件并将其打开到所需页面。

    您甚至可以使用 Gecko 实现此目的:

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

    【讨论】:

    • 感谢您的回答。根据您的建议,我能够找到一个类似的解决方案,该解决方案也使用 XUL runner。我决定构建一个使用 wxWebConnect 的简单专用 Web 浏览器应用程序,因为我在过去 5 年的工作中一直在使用 wxWidgets,并且发布 mac 版本和 windows 版本的能力非常棒。我应该能够打包这个专用浏览器并将其设置为始终打开网站的本地版本(仅 html 和 js),这样我就可以专注于一种浏览器技术以实现离线兼容性。
    【解决方案2】:

    我对此表示赞同,因为我非常有兴趣找到解决方案。一天前,这确实是我的想法。据我所知,部署需要某种类型的独立 Web 服务器来处理文件的 Web 应用程序是不可能的。你说它主要是在 JavaScript 中,你不介意杀死 PHP 功能——在这种情况下,Adobe AIR 可能是一个简单的解决方案(语法与 JS 非常相似,如果你熟悉的话应该可以快速转换)。基本上——根据我的理解——你必须移植它。

    【讨论】:

      【解决方案3】:

      我认为最简单的方法是使用 Google Gears 或 HTML5 存储功能并为此应用程序添加离线模式。因此,您只需在浏览器中打开应用程序一次并启用离线访问即可。然后,它只需使用离线功能即可工作。

      http://www.w3.org/TR/offline-webapps/ http://www.devcomments.com/HTML5-Offline-GWT-APP-at246553.htm

      【讨论】:

        【解决方案4】:

        我假设因为您使用的是 gwt,所以您的逻辑是用 Java 编写的?

        您当然可以将所需的所有组件打包到某种标准的 Java 运行时中吗?

        【讨论】:

          猜你喜欢
          • 2016-01-04
          • 1970-01-01
          • 2016-05-14
          • 1970-01-01
          • 2016-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多