|
|
||
|---|---|---|
| .github | ||
| config | ||
| extras | ||
| plugin | ||
| src | ||
| website | ||
| .all-contributorsrc | ||
| .gitignore | ||
| CMakeLists.txt | ||
| jest.config.js | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
NodeGUI
Build performant, native and cross-platform desktop applications with JavaScript + powerful CSS like styling.🚀
NodeGUI is powered by Qt5 💚 which makes it CPU and memory efficient as compared to other chromium based solutions like electron.
If you are looking for React based version, check out: React NodeGUI.
Visit: https://nodegui.github.io/nodegui for docs.
This project is in active development. It should be okay for smaller projects but anything complex - electron is the way to go for now. 🚧
How does it look?


More screenshots?
More Examples:
https://github.com/nodegui/examples
Features
- 🧬 Cross platform. Should work on major Linux flavours, Windows and MacOS.
- 📉 Low CPU and memory footprint. Current CPU stays at 0% on idle and memory usage is under 20mb for a hello world program.
- 💅 Styling with CSS (includes actual cascading). Also has full support for Flexbox layout (thanks to Yoga).
- ✅ Complete Nodejs api support (Currently runs on Node v12.x - and is easily upgradable). Hence has access to all nodejs compatible npm modules.
- 🎪 Native widget event listener support. Supports all events available from Qt / NodeJs.
- 💸 Can be used for Commercial applications.
- 🕵️♂️ Good Devtools support.
- 📚 Good documentation and website.
- 🧙♂️ Good documentation for contributors.
- 🦹🏻♀️ Good support for dark mode (Thanks to QT).
- 🏅First class Typescript support. (Works on regular JS projects too 😉).
Getting Started
- Check out nodegui-starter to get up and running with your own React NodeGUI app!
- Read through the docs.
- Checkout the examples: https://github.com/nodegui/examples .
Community guides
- https://blog.logrocket.com/electron-alternatives-exploring-nodegui-and-react-nodegui/ - Electron alternatives: Exploring NodeGUI and React NodeGUI by Siegfried Grimbeek.
- https://hibbard.eu/node-gui/ - Excellent guide from James Hibbard.
Talks/Podcasts
JS Party 96: Performant Node desktop apps with NodeGUI – Listen on Changelog.com
Docs for contributing
It is easier than you think, try it
Looking to contribute? If you wish to implement a new widget/add more features and need help understanding the codebase, you can start here: Contributing developer docs.
Please read https://github.com/nodegui/.github/blob/master/CONTRIBUTING.md
Building
npm run build [--qt_home_dir=/path/to/qt]
Funding
NodeGUI is an open source project and requires your support. If you like this project, please consider supporting my work with Ko-fi. Alternatively, Issues on NodeGui can be funded by anyone via Issuehunt and the amount will be distributed to respective contributors.
Special Thanks
Code of Conduct
https://github.com/nodegui/.github/blob/master/CODE_OF_CONDUCT.md
License
MIT
Maintainers ✨
People maintaining this project.
Atul R |
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!