如何将 Web 应用程序转换为桌面可执行文件?

How do I convert web application into desktop executable?

我已经 HTML 使用 AngularJS/jQuery/Bootstrap 和 AJAX REST API.
构建应用程序 是否可以为 Windows 操作系统创建 executable/installer?

没有任何 3rd 方软件,它应该看起来像本机应用程序,但是 HTML。
例如,Slack Messenger 有 web/mac/windows 个版本,它们看起来都一样。

有什么想法吗?

//更新

我可能需要一个包装器 (webview),但我需要 EcmaScript5/CSS3 的所有功能。

使用一些包装代码,您可以将其打包为 Chrome 应用程序。他们不需要 运行 在浏览器中 window 但具有独立网络应用程序的所有功能。

https://developer.chrome.com/apps/about_apps

有大量框架可以将您的 Web 应用程序包装到本机应用程序中,该应用程序可以访问操作系统的文件存储 API 等内容。 This is the specific guide for Windows.

注意事项 - 您将需要花时间对您的原生应用进行可靠的测试和 QA 工作,这样它就不会像原生包装器中的网站一样as 与您想要兼容的 OS 的所有版本完美集成。 Tweetdeck for Mac 是一个不应该做的例子——基本上是一个原生包装器中的网络浏览器。

我自己一直在寻找一个全方位的解决方案。我尝试了从 TideSDK、AppJS、Appcelerator Titanium、VB.NET、XCode、Python、C++、Electron、node-webkit 等中的本机代码的所有内容:基本上你说的我'已经试过了。

注意 Electron 很不错,但它在 64 位处理器上只有 运行s。因此,如果您想在 32 位处理器上 运行 您的应用程序,node-webkit 很好。

所以我决定构建自己的开源解决方案 WebDGap

当前 WebDGap 运行s 在 Windows、Linux、Mac OS X、Google Chrome 和作为网络应用程序!

观看 How To Video 以了解如何使用该应用程序。

这是截图。

因为您已经是 Mac 用户,您可以将导出的应用程序合并到 1 个 .app mac 文件中。这可以通过 Automator(以及一些 shell 脚本)来完成。

还有一个我为移动用户制作的编码游乐场,它内置了这个功能,叫做 kodeWeave

这是我要导出为 Mac 应用程序的 Tic-Tac-Toe 游戏:

现在 Web 应用程序 运行 宁作为本机 Mac 应用程序!

Electron 是最简单的方式:

1.安装

2。创建和编辑 main.js:

const electron = require('electron');
const { app, BrowserWindow } = electron;

let mainWindow;

app.on('ready', () => {
    mainWindow = new BrowserWindow({
        width: 1000,
        height: 700
    });

    mainWindow.setTitle('title of the desktop app');
    mainWindow.loadURL('http://www.yourwebpage.com');

    mainWindow.on('closed', () => {
        mainWindow = null;
    });
});

3。执行桌面应用程序:

electron main.js

要构建应用程序,请使用 electron-builder 等构建器。

希望对你有帮助!

将 Web 转换为 Exe 的最佳方法是使用 nativefier:

nativefier --name "Inventory Management System" "http://localhost/php_stock_zip/php_stock_zip/php_stock/" -i ./icon.png -p windows

步骤:

  1. 按 Win+x
  2. 按 C
  3. 类型
  4. 本土化

安装要求 * macOS 10.9+ / Windows / Linux * Node.js >=6(4.x 可能有效但不再测试,请升级) 查看更多可选依赖项

第 5 步:npm install nativefier -g

最后输入 nativefier "Web Link"

使用Web2Desk:如果您正在寻找免费且简单的解决方案。

其中您需要做的就是输入 Mac、Windows 和 Linux 的 Web 应用程序(或网站)和桌面应用程序的 URL立即生成。

我知道的最简单和最快的方法是使用 nodejs/npm 的 nativefier 库,它是 electronjs 的底层。只需 5 分钟即可为 windows 创建可执行文件。即使没有编程经验的人也可以从 Web 应用程序创建桌面应用程序。下面提到的 post 描述了将 Web 应用程序转换为桌面应用程序的步骤。必读!

Convert any web application to desktop application in 2 min using npm’s nativefier

(坦白说,我是 ToDesktop 的创始人,我会尽量 objective 并且不偏不倚。)

和计算机科学一样,答案是 "it depends"!

您应该问自己的第一个问题是:谁在使用桌面应用程序? 只有你?或者,您是否向客户分发该应用程序?因为这两个细分市场有着截然不同的需求。

只有你

这里有很多选项(排名不分先后):

  1. Nativefier — 显而易见的选择。很多配置选项,很多贡献者,开源和定期更新。如果您想为自己制作一个应用程序,这可能应该是默认选项。
  2. WebDGap — 这是一个可爱的项目,但它有点旧 "as of April 13th, 2018 WebDGap is no longer an active project."。还应该注意的是,这是建立在旧版本 node-webkit 而不是 Electron 的基础上。
  3. Web2Desk — 如果您不想弄乱 command-line,这是一个不错的选择。它使用 Nativefier under-the-hood。带启动画面的是免费的,删除启动画面的是 19 美元。
  4. Do-it-yourself 与 Electron — The basics were covered quite well 。我喜欢这个选项,因为它为您提供了完全的灵活性,可以随心所欲地进行项目,并且您还将学习一些 Electron。
  5. Fluid App — 这只是 Mac,但除此之外,这是一个可爱的解决方案,而且超级简单。标准版是免费的,还有一个 5 美元的版本,其中包括全屏等功能。
  6. FlotatoMac 再次 但这是一个非常有趣的方法。只需克隆该应用程序并为其命名,例如 docs.google.com,它将变成 Google Docs。在撰写本文时,它在 pre-release(尚未发布)但我会密切关注它,它非常酷。
  7. ToDesktop — ToDesktop 可以工作,但如果您正在创建个人应用程序,它可能有点矫枉过正。另外,这个 use-case 可能有点太贵了。 ToDesktop 的目标是创建一个桌面应用程序以分发给客户(更多内容见下文)。

分发给客户

在创建要分发给客户的桌面应用程序时,有一些额外的注意事项变得更加重要:

  • Installer — Mac 用户期望 "drag to applications" DMG 文件。 Windows 用户希望有一个安装程序,他们还希望能够从控制面板卸载它。
  • 代码签名 — 如果您的应用程序未进行代码签名,则默认情况下 Windows Authenticode 和 Apple Gatekeeper 将阻止您的桌面应用程序被打开。
  • Auto-update — 还有一个网络浏览器 运行 "underneath" 您的桌面应用程序,保持更新很重要,原因有二. 1.安全问题+漏洞应该随着时间的推移进行修补。 2. 你不想因为桌面应用程序的浏览器没有更新而在 5 年内一直支持旧的网络浏览器

上述工具不提供这些功能,因此它们并不真正适合 use-case 将您的应用程序分发给客户。这些是我们在构建 ToDesktop 时想要添加的功能,所以我认为它非常适合这个 use-case。我们一直在添加功能,上周我们添加了对 应用程序协议和深度链接 .

的支持