NodeGUI
Build performant, native and cross-platform desktop applications with JavaScript + powerful CSS like styling.
NodeGUI is powered by Qt5
If you are looking for React based version, check out: React NodeGUI.
Visit: https://nodegui.github.io/nodegui for docs.
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π ).
Current focus:
- (Partial support is present) Easily exstensible for creating custom native widgets (like react native).
- (Partial) Should have a decent list of stylable native widgets.
- Easy build and packaging process.
Getting Started
- Check out nodegui-starter to get up and running with your own React NodeGUI app!
- Read through the docs.
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.
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
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!