50

我目前正在构建一个 HTML5 应用程序。

我真的很想将它部署到桌面上,并且我已经查看了诸如 Sencha 之类的解决方案,但没有运气(我发现 Sencha 令人失望且令人沮丧)。我想要跨平台兼容性和易于部署,但我还没有找到任何看起来可以有效完成工作的开源或商业。

任何有经验的人都可以推荐一个可能适合在桌面上打包和部署 HTML5 应用程序的框架吗?这样做的最终要求是它可以在 Mac OS 和 Windows 上运行 - 但现在仅 Windows 就很棒。

我考虑过构建一个将呈现 HTML5 的 C# 包装器,但可能已经存在我忽略的解决方案。

我很感激有经验的人的任何回应——SO上与此相关的其他问题并未概述“提问者”所采用的解决方案。

4

4 回答 4

68

研究这个主题几周后的发现:

  • Node-Webkit - 基于 Chromium(也支持 Google Chrome)和 node.js 的应用程序运行时。您可以使用 node-webkit 以 HTML 和 JavaScript 编写本机应用程序。它还允许您直接从 DOM 调用 Node.js 模块,并启用一种使用所有 Web 技术编写本机应用程序的新方法。它是在英特尔开源技术中心创建和开发的。
  • Adobe AIR - 广泛使用,但主要依赖供应商且不支持 Linux
  • PHP Desktop - 不要让名称欺骗您,PHP Desktop 还可以充当纯 HTML5/JS 应用程序的打包程序。它嵌入了 Chromium 浏览器和 Web 服务器。不需要提供 PHP 解释器。PHP Desktop 与 PHP 没有紧密的联系,它也可以作为任何其他脚本语言(如 Perl、Ruby、Python)的打包器,为执行脚本提供 CGI 接口。
  • XULRunner - 直接受益于 Firefox 开发工作,这是一个维护良好的解决方案,具有出色的跨平台支持,但除了 Firefox 和其他基于 XULRunner 的开源应用程序本身之外,几乎不存在用于打包和分发的工具或文档。更新 2013-06-15:下面的 Webapp XUL Wrapper解决了这些问题
  • Chrome 网络应用程序- 如果您需要的只是从 Chrome 主屏幕指向网络应用程序的链接,这是一个不错的选择
  • Chrome 可安装网络应用程序- 就像具有更多桌面集成的 Chrome 网络应用程序。不支持闪存。
  • Mozilla Open Web Apps - 如果您只需要一个从 Firefox 主屏幕指向您的 Web 应用程序的链接,这是一个不错的选择
  • Mozilla Native Web Apps - 就像具有更好桌面集成的 Mozilla Open Web App。仍然需要通过 Firefox Marketplace 在线安装。
  • Flash 投影仪- 值得一提的低成本解决方案,用于将基于 Flash 的应用程序打包为独立的桌面应用程序
  • AppJS (Node.js) - 有前途的项目,但活动很少
  • Bellite Toolkit - 一种商业产品,旨在实现大约 1MB 的轻量级库占用空间,比类似的基于Chromium Embedded的框架小 70 到 100 倍。多进程架构允许使用 Node、Python、Ruby、PHP 或通用可执行文件。(注意在 windows 上需要在应用程序中使用 Modernizr (JS shim),因为 Bellite 从 Chrome Frame 切换到使用 Internet Explorer
  • Webapp XUL Wrapper - 基于 XUL 的包装器和构建脚本,用于将 webapp 打包到 Mac、Windows 和 Linux 的可分发包中。
  • Brackets Shell - 由括号.io 团队创建的一个很棒的包装器。完成构建设置说明和 Grunt 构建工具。在此处查看更多信息:http: //clintberry.com/2013/html5-desktop-apps-with-brackets-shell/
  • Atom Shell - atom.io 团队创建的包装器。它基于 node.js 和 Chromium,用于 Atom 编辑器。

当前状态的详细概述以及更多信息:http: //blog.neamlabs.com/post/36584972328/2012-11-26-web-app-cross-platform-desktop-distribution

另一个半详细的概述在这里: http ://clintberry.com/2013/html5-apps-desktop-2013/

不再活动/维护:

于 2012-11-26T10:50:38.493 回答
4

你有没有找到答案?如果是这样,我很乐意听到它,因为我认为它不存在,我非常想要它。

这是我在搜索相同内容时遇到的情况:

1) Adob​​e Air:支持 Windows 和 Mac。在版本 2.? 之后放弃了对 Linux 的支持。据推测,如果您避免使用 3.0 功能,您仍然可以使用以前分发的 LInux 版本。

2) AppJS.org:NodeJS + Chromium。支持 Windows、Linux 和 Mac(仅限 32 位)。缺乏 64 位支持对我来说是致命的。他们说他们正在努力,但我担心他们只是在等待谷歌为 Chromium 添加 64 位 Mac 支持。不知道什么时候会发生。

3) Titanium Desktop:被 Appcelerator 抛弃到开源的沙漠。现在几乎无法使用,也无法保证未来。

3) XULRunner:听起来很有希望,但我在 Mac 上遇到了一个构建错误,让我感到很冷。我现在要去试试最新版本。

4) Python + Tkinter:虽然这是一个 python 解决方案而不是 HTML5,但这是我现在正在使用的。结合 Py2App 和 Py2Exe,似乎它可能会起作用。

总的来说,我对现在的情况感到非常沮丧。

于 2012-08-02T18:19:26.257 回答
1

Chrome 的应用程序快捷方式适用于 Windows 和 Linux。

这将允许您的应用程序在其自己的窗口中运行,并且这样做的好处是大约需要三秒钟;但是,它并不能满足您的所有需求。

于 2012-08-02T18:31:33.930 回答
0

我决定使用 Ultralight HTML5 渲染器 ( www.ultralig.ht )。

这使我能够充分利用“网络堆栈”,同时轻松地向客户端部署轻量级解决方案。

于 2012-08-03T08:44:12.950 回答