【问题标题】:Is it possible to create desktop applications with node.js? [duplicate]是否可以使用 node.js 创建桌面应用程序? [复制]
【发布时间】:2012-02-06 07:48:42
【问题描述】:

我使用 node.js 创建了一个应用程序,我很想知道是否可以将客户端(js、html、css)和服务器端打包成一个独立的应用程序(不需要浏览器)。

【问题讨论】:

标签: javascript node.js window


【解决方案1】:

https://github.com/rogerwang/node-webkit 是一个项目,目标是在与 nodejs 相同的进程中运行 webkit 浏览器引擎的实例。它允许您直接在浏览器中使用节点 API。它目前仅适用于 linux 现在适用于 Windows、Mac 和 Linux。

【讨论】:

  • 这看起来类似于 appjs - 虽然 node-webkit 允许您直接从 DOM 使用 Javascript 函数,而 appjs(显然)需要服务器端和客户端。
  • 另外,您有安装 node-webkit 的说明吗?我期待着学习它。
  • 它现在似乎支持 Linux、Mac OSX 和 Windows。
  • @counterbeing 谢谢,修改了。
  • 这是 BIG 与 Adob​​e Air 的直接竞争
【解决方案2】:

我也在调查这个。

AppJS 作为一个使用 HTML5、CSS3 和 NodeJS 构建跨平台桌面应用程序的 api 看起来非常有前途。不幸的是,对于我的下一个项目来说,它可能还不够完善。

【讨论】:

  • +1 获得了很好的发现。该项目看起来不错,已经开发了几个应用程序。
【解决方案3】:

自从node-webkit 项目宣布以来,我一直在研究这个话题。
我有一篇关于我早期努力的博文http://csainty.blogspot.com/2012/01/creating-desktop-apps-with-nodejs.html

在最新的代码中,您现在可以指定一个应用程序关闭回调,这使得现在可以在应用程序启动时轻松实例化您的应用程序和本地主机网络服务器。然后在关闭时将其全部关闭。

这使得将 Web 应用程序移植到桌面变得非常容易,具体取决于您可能拥有的其他服务器依赖项。

var nwebkit = require('node-webkit'),
    http = require('http');

var server = http.createServer(function (req, res) {
    // If you need it you can create a local web server
    // You can also use express etc if preferred
    }).listen(3000, '127.0.0.1');

nwebkit.init({
    'url': 'index.html',
    'width': 800,
    'height': 600,
    'onclose': function() {
       server.close();
    }
});

【讨论】:

  • 使用 nwjs 无需启动 web 服务器来服务器 webapp 静态资产。可以在manifest.json中设置"main":"app/index.html",它可以从本地文件加载webapp,并且不会应用安全限制,可以制作ajax等。
【解决方案4】:

您可以使用带有节点的 Qt 编写桌面应用程序

查看此绑定

https://github.com/arturadib/node-qt

【讨论】:

  • 不幸的是,那个不错的项目似乎不再维护太多了。
【解决方案5】:
猜你喜欢
  • 2011-05-01
  • 1970-01-01
  • 2012-03-26
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-05
相关资源
最近更新 更多