是否可以使用 node.js 创建桌面应用程序?

IT技术 javascript node.js window
2021-02-20 23:52:56

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

5个回答

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

这看起来类似于 appjs - 尽管 node-webkit 允许您直接从 DOM 使用 Javascript 函数,而 appjs(显然)需要服务器端和客户端。
2021-04-17 23:52:56
另外,您有安装 node-webkit 的任何说明吗?我很期待学习它。
2021-04-18 23:52:56
@counterbeing 谢谢,修改了那个。
2021-05-01 23:52:56
这是很大的,这是与 Adob​​e Air 的直接竞争
2021-05-04 23:52:56
它现在似乎支持 Linux、Mac OSX 和 Windows。
2021-05-06 23:52:56

我也在调查这个。

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

+1 为一个伟大的发现。该项目看起来不错,已经开发了几个应用程序。
2021-05-15 23:52:56

自从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 等。
2021-04-15 23:52:56

您可以使用 Qt 和 node 编写桌面应用程序

看到这个绑定

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

不幸的是,这个不错的项目似乎不再维护太多了。
2021-04-16 23:52:56