分发基于HTML5的桌面应用程序有哪些解决方案?
我希望能够将我的HTML5应用程序作为Windows,OSX和Linux上的独立桌面应用程序进行分发。我希望人们能够双击我的应用程序图标快捷方式来运行我的程序。
我不希望浏览器窗口显示,只是我的应用程序。这可能吗?
答案 0 :(得分:73)
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应用开发和发布。
Tide SDK(archived on 2015-07-12 at archive.org),测试版,discontinued on 12th Jul 2015
XULRunner from Mozilla可能会为您提供帮助,但会增加一些开销。
app.js在28th Oct 2013结束时被https://github.com/rogerwang/node-webkit)[node-webkit]超越。
因为它简单但功能强大。使用AppJS,您无需担心跨平台编码或学习新语言和工具。您已熟悉HTML,CSS和JavaScript。什么比这个堆栈更适合应用程序开发?此外,AppJS使用Chromium作为核心,因此您可以获得最新的HTML 5 API。因此,请专注于您的应用程序应该执行的任务。
Mozilla Prism被淘汰,他们的slugline是:
将网络应用程序引入桌面
Prism是一个应用程序,允许用户将Web应用程序从浏览器中分离出来并直接在桌面上运行它们。
答案 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_Application和http://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)
Sencha http://www.sencha.com/ Pokki http://www.pokki.com/
答案 12 :(得分:1)
目前答案是每个平台都有不同的解决方案。
答案 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>