将HTML5应用程序分发为桌面应用程序的解决方

时间:2011-02-02 00:37:29

标签: javascript html5 desktop-application

分发基于HTML5的桌面应用程序有哪些解决方案?

我希望能够将我的HTML5应用程序作为Windows,OSX和Linux上的独立桌面应用程序进行分发。我希望人们能够双击我的应用程序图标快捷方式来运行我的程序。

我不希望浏览器窗口显示,只是我的应用程序。这可能吗?

16 个答案:

答案 0 :(得分:73)

2014年的HTML5应用

chrome / webkit的框架

  • Electron(原Atom Shell)

      

    Electron是由GitHub开发的一个开源库,用于构建具有HTML,CSS和JavaScript的跨平台桌面应用程序。 Electron通过将Chromium和Node.js组合到一个运行时来实现这一点,并且可以为Mac,Windows和Linux打包应用程序。 (source

    github上的人使用它来提供他们的code editor Atom作为应用程序。它在官方原子论坛上有一个记录的api和帮助渠道。

  • Node-Webkit,最简约的方法

      

    node-webkit是一个基于Chromium和node.js的应用程序运行时。您可以使用node-webkit以HTML和JavaScript编写本机应用程序。它还允许您直接从DOM调用Node.js模块,并启用一种使用所有Web技术编写本机应用程序的新方法。

    英特尔支持这个(?)。我被告知它的边缘非常粗糙。

  • Brackets Shell,Adobes代码编辑器的沙箱(以及Adobe Edge的基础)

      

    注意:只有Brackets项目才能使用bracket-shell。虽然有些人肯定已成功将其用作其他项目的应用程序外壳,但我们并没有为此提供任何官方支持,我们还没有做大量的工作来使应用程序外壳易于重用。许多人可能会发现使用像node-webkit这样的项目更容易,因为设计更通用。

    自述文件说,但是有相当多的人在那里做过。

框架+工具

  • Adobe AIR,正如另一个答案所示。

      

    Adobe®AIR®运行时使开发人员能够将相同的代码打包到适用于Windows和Mac OS桌面以及iPhone,iPad,Kindle Fire,Nook平板电脑和其他Android™设备的本机应用程序中,从而进入移动应用程序商店超过5亿台设备。

  • Sencha是一家为应用开发商销售工具的公司,包括html5应用开发和发布。

非活动方法

答案 1 :(得分:14)

您可以使用使用Nodejs和Chromium的AppJS为桌面构建html5应用程序。看看:http://appjs.com Github链接:https://github.com/appjs/appjs

答案 2 :(得分:10)

你可能想看看Mozilla的XULRunner。在10000英尺的水平,FireFox浏览器是一个XULRunner应用程序(显然是一个非常复杂的应用程序,但......)。但是XULRunner允许您使用Javascript和XML来创建应用程序,浏览器窗口就是其中一个组件,所以一旦你掌握了基本窗口,你就可以做任何你想要的事情。

此外,根据应用程序的复杂程度,有几个“小部件”框架(如Mac上的Dashboard,Yahoo Widgets,Windows Gadgets),它们基本上也是HTML运行时。

答案 3 :(得分:10)

绝对查看Titanium。就在今天,我使用了一个功能强大的HTML5应用程序,只需进行一些小修改就可以将其放入Titanium并将其打包为Mac,Windows和Linux。

如果您的应用需要"服务器端"它还支持PHP,Python和Ruby。处理

答案 4 :(得分:5)

镀铬可以做棱镜所见的 - 工具 - >创建应用程序快捷方式

答案 5 :(得分:4)

您可以尝试Phonegap,有一个Windows桌面端口:https://github.com/davejohnson/phonegap-windows

我尝试了mac-port,效果很好。我还没试过Windows版本。

答案 6 :(得分:3)

Adobe AIR旨在让您在提供桌面应用程序时主要使用HTML,CSS和JavaScript。 (警告:我自己实际上没有使用它。)

答案 7 :(得分:3)

[仅限Windows]尝试HTML应用程序(HTA)方法 - 只需使用.hta扩展名保存.html文件。它还提供了一些额外的设置来摆脱浏览器窗口,设置应用程序的信任级别等。在这里阅读更多内容:http://en.wikipedia.org/wiki/HTML_Applicationhttp://technet.microsoft.com/en-ca/scriptcenter/dd742317.aspx

答案 8 :(得分:2)

嗯... HTML5 / CSS / JS的虚拟机...听起来像浏览器。 :)

也许Adobe AIR可以做到这一点,因为它基于将富Internet应用程序引入桌面的想法。但是,我从未使用它。

你可以做的一件事是开发一个非常基本的桌面应用程序,它使用某种预先打包的Web浏览器控件(例如,如果您正在为Mac开发,只需在窗口中放置一个WebView并添加一些基本代码来加载您的应用启动时的HTML。)

答案 9 :(得分:2)

从Mozilla检查这个新项目。您也可以创建桌面应用:https://developer.mozilla.org/en/Apps

详细信息:http://hacks.mozilla.org/2012/05/desktop-apps-with-html5-and-the-mozilla-web-runtime/

答案 10 :(得分:1)

对于手机,您可以使用PhoneGap http://www.phonegap.com/。可能需要更多编码,您可以将其用于桌面。

答案 11 :(得分:1)

答案 12 :(得分:1)

目前答案是每个平台都有不同的解决方案。

  • 对于MAC OSX您将使用UIWebView
  • 创建Cocoa桌面应用程序
  • 对于Windows,您将使用浏览器组件制作.NET桌面应用程序。

答案 13 :(得分:1)

您可以使用Tomcat等嵌入式服务器,也可以使用Apache。

我使用tomcat获取完整的java Web应用程序。在浏览器中运行,但需要安装应用程序。启动应用程序,启动服务和打开浏览器的快捷方式。

或尝试使用webkit

答案 14 :(得分:1)

有点晚了,但你可以使用谷歌浏览器的便携版本,然后创建一个小的Windows应用程序来安装它,并创建一个.ink快捷方式到它的--kiosk和应用程序模式。
有点像chrome应用程序快捷方式,但你为它们安装chrome。

答案 15 :(得分:1)

如果你只是需要它用于Windows,你应该考虑HTML应用程序(HTA),它自IE 5(10年以上)以来一直是Internet Explorer的一部分。

无需服务器,完整的HTML格式化,对本地资源的完全访问权限(甚至是COM / USB端口),非常棒。此外,使用Visual Studio轻松调试,只需绑定到MSHTA.exe

您可以使用以下元标记在HTA中启用HTML 5:

<!-- enable html5 features --> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>