是否存在诸如“打包的Web应用程序”之类的东西?

时间:2018-08-16 10:48:17

标签: javascript browser packaging

比方说,我有一个HTML / JS应用程序,该应用程序在网站上,没有任何服务器端组件(当然,除了Web服务器)运行。因此,基本上只是一堆.html.css.js文件(还有其他一些文件,例如图像或SQLite数据库)

总有一天,一个用户来找我问我是否可以制作离线版本,以便他们可以在离线状态下访问该应用。 我的第一个反应是将应用程序的所有文件都以.zip文件之类的形式提供给他们,但这并不是很好:普通用户还不清楚,文件和代码是显而易见的(如果用户无意中对其进行了编辑或删除,则可能是“危险”。

所以我想知道:是否有一种格式可以使我将应用程序的文件存储在打包文件中? 该文件将类似于.zip文件,但是当您单击该文件时,它不会打开存档,而是打开其中的/index.html(或类似文件)。

因此,对于用户而言,打开.exe或单个.html文件类似于,但是仍然不是本机应用程序,因为它仍然是浏览器应用程序。

鉴于我所知道的:

  • Apache Cordova;但大多数时候,我只使用浏览器功能,而无需使用高级本机功能;
  • UWP和PWA,但我不知道它是否正是我想要的(我想它是网站和移动应用程序的结合,但我肯定是错的);
  • Open Web App(Mozilla的标准),但是根据我所读的内容,它似乎已被弃用,不再使用。另外,我真的不希望“认证”我的应用……我只想打包一些文件。

2 个答案:

答案 0 :(得分:1)

PWA我认为这不是解决问题的方法,因为您将无法将代码作为可执行程序包重新分发。

UWP太特定于Windows了,可能会因为使用纯HTML和JS而失去您已经拥有的平台独立性,而且据我了解,您需要在Windows Store上分发该应用程序。

我相信打包为Electron应用程序是最好的解决方案,因为您可以提供可以在几乎所有平台上执行的可执行文件。

答案 1 :(得分:0)

Electron将是最适合您的解决方案。我有一个首先要在php服务器上运行应用程序的客户端,最终他们发现他们需要将其作为桌面应用程序使用。将php内容重写为node并打包为Electron应用很容易。您可以访问所有文件,系统等,因此可以根据需要做更多的事情。

另一种解决方案是将所有内容都内联到单个html文件中。