我想在nodejs中构建代码编辑器。有一个选项,比如使用快速服务器来显示编辑器和在后端执行代码。但这需要一个浏览器。所以我正在寻找可以为windows平台提供独立gui的节点模块。
答案 0 :(得分:37)
我建议使用HTML / JS / CSS框架
选项#1: 电子 GitHub 。
Website | GitHub Repo | Releases
比你想象的容易
如果您可以构建网站,则可以构建桌面应用。电子是一个 使用Web技术创建本机应用程序的框架 JavaScript,HTML和CSS。它可以照顾到硬质部件 专注于您的应用程序的核心。
选项#2: NW.js (以前称为node-webkit)。
Website | GitHub Repo | Releases
直接从DOM / WebWorker调用所有Node.js模块并启用新模块 使用所有Web技术编写应用程序的方法。
Electron和NWJS专业人士:
AppJS已被正式弃用
Electron类似于NW.js但更新,更受欢迎,并且有更大的社区和更频繁更新。我推荐它。
NWJS总是使用最新版本的Chromium和Node,而Electron需要更多时间才能赶上。
NWJS通过将其编译为V8本机代码来支持[JavaScript Source Protection] [1]。电子没有。
NWJS拥有适用于Windows XP和Mac OS X 10.6支持的Legacy版本。
Electron和NWJS都使用MIT许可证。
电子和NWJS缺点:
选项#3: DeskGap 。
Website | GitHub Repo | Releases
DeskGap是一个用于构建跨平台桌面应用程序的框架 网络技术(JavaScript,HTML和CSS)。
在保持缩小规模的同时启用本机功能,DeskGap 捆绑Node.js运行时并将HTML呈现留给 操作系统的webview。
轻量级,因为webview由操作系统提供。
API仍然非常有限(几乎正在进行中)。
需要新的操作系统版本。
答案 1 :(得分:28)
根据您的使用方式,有几种不同的选择。
选项1:
使用QT或GTK绑定之类的东西来制作更传统的GUI应用程序。这些选项通常只是对GTK和QT公开的C / C ++ API的节点绑定。请参阅node-qt和node-gui。
选项2:
使用一个带有HTML,CSS和Javascript的框架,并将其捆绑到一个独立的HTML5应用程序中。有很多框架工作可以做到这一点。示例包括NW.js和AppJS以及其他许多内容。
答案 2 :(得分:3)
除了这里的其他答案:
您可以查看 NodeGUI :https://github.com/nodegui/nodegui
NodeGUI是用于构建跨平台本机的JavaScript库 具有JavaScript和CSS等样式的桌面应用程序。它使用Qt 可以在Mac,Linux和Windows上使用。
它还有一个基于反应的渲染器,称为 React NodeGUI ,类似于React Native,但用于桌面:https://github.com/nodegui/react-nodegui
它也在积极发展中。
答案 3 :(得分:1)
针对您问题的答案可能是NodeGui(由Qt5,NodeGui-React支持)
还有许多其他选择。我在下面列出了一些选项,
有关更多信息,您可以使用我的github repo electron-alternatives选择跨平台的桌面开发选项。
答案 4 :(得分:0)
最近Node-gir也值得一看:https://github.com/Place1/node-gir
允许使用Nodejs中基于Gnome / Glib / Gobject的库。允许你使用GTK +。
答案 5 :(得分:0)
我最近发现了https://github.com/yue/yue,并且有很好的经验。它轻巧,具有下降打包支持(甚至支持React / JSX),并且真正具有原生的Webview,可移植且易于构建目标平台。
尽管似乎已停产,但我发现该项目非常独特,但它确实具有添加下降Web视图的选项。我重新获得了一些PR,并将其分叉,并添加了TypeScript类型和文档,因为它确实是干净/直接的API,易于构建目标平台文件。尽管我希望/寻找其他用户添加缺少的部分:https://github.com/cancerberoSgx/node-gui,但这是我的叉子。缺点是它实现了node.js事件循环,因此必须使用yode(node.js分支)才能使promise和异步代码与GUI代码一起正常工作。
我想知道其他人是否有使用此库或fork的经验。