【问题标题】:HTML5 Desktop Wrapper/Framework [closed]HTML5 桌面包装器/框架 [关闭]
【发布时间】:2012-06-16 11:10:44
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: html cross-platform desktop-application


    【解决方案1】:

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

    • 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 年 6 月 15 日更新:Webapp XUL Wrapper 解决了这些问题
    • Chrome Web Apps - 如果您只需要从 Chrome 主屏幕链接到您的网络应用程序,这是一个不错的选择
    • Chrome Installable Web Apps - 就像具有更多桌面集成的 Chrome 网络应用程序。不支持 Flash。
    • Mozilla Open Web Apps - 如果您只需要一个从 Firefox 主屏幕指向您的网络应用程序的链接,这是一个不错的选择
    • Mozilla Native Web Apps - 就像具有更好桌面集成的 Mozilla 开放式 Web 应用程序。仍然需要通过 Firefox Marketplace 在线安装。
    • Flash projector - 值得一提的低成本解决方案,用于将基于 Flash 的应用打包为独立的桌面应用
    • AppJS (Node.js) - 有前途的项目,但活动很少
    • Bellite Toolkit - 一种商业产品,旨在实现大约 1MB 的轻量级库占用空间,比类似的基于 Chromium Embedded 的框架小 70 倍到 100 倍。多进程架构允许使用 Node、Python、Ruby、PHP 或通用可执行文件。 (注意在 windows 上需要use of Modernizr (JS shim) in the app since Bellite's switch from Chrome Frame to use Internet Explorer
    • Webapp XUL Wrapper - 基于 XUL 的包装器和构建脚本,用于将 web 应用程序打包到 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/

    不再活动/维护:

    【讨论】:

    【解决方案2】:

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

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

    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,好像可以。

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

    【讨论】:

    • 您好,巧合的是,我确实找到了解决方案。我决定使用 Awesomium 框架 (www.awesomium.com),它允许我构建一个可以指向 URL 的应用程序“窗口”,因为 Awesomium 实际上是一个内置在任何表面(WinForms 等)中的 Chromium 控件,我认为HTML5 的功能,如果用户没有 Internet 连接,可以利用这些功能构建“离线”模式。希望这会有所帮助。
    【解决方案3】:

    Chrome's application shortcuts 在 Windows 和 Linux 上工作。

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

    【讨论】:

    • 不幸的是我已经探索了这条途径,它不适合规范。不过,我很感谢您的回复。
    【解决方案4】:

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

    这让我可以充分利用“网络堆栈”,同时轻松地为客户端部署轻量级解决方案。

    【讨论】:

    • 不用于商业目的,不开源...我不认为我会使用这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 2010-09-08
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 2014-07-08
    相关资源
    最近更新 更多