Build performant, native and cross-platform desktop applications with React.π
React NodeGUI is powered by React βοΈ and Qt5 π which makes it CPU and memory efficient as compared to other chromium based solutions like electron. React NodeGUI is essentially a React renderer for NodeGUI.
Visit: https://react.nodegui.org 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. π§
More screenshots?
- 𧬠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 event available from Qt / NodeJs.
- πΈ Can be used for Commercial applications.
- π΅οΈββοΈ Good Devtools support (supports react-devtools, node debugger).
- π 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 π).
- Check out react-nodegui-starter to get up and running with your own React NodeGUI app!
- Read through the docs
Community Guides
- https://blog.logrocket.com/electron-alternatives-exploring-nodegui-and-react-nodegui/ - Electron alternatives: Exploring NodeGUI and React NodeGUI by Siegfried Grimbeek.
Talks/Podcasts
JS Party 96: Performant Node desktop apps with NodeGUI β Listen on Changelog.com
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 link:
https://github.com/nodegui/nodegui/tree/master/website/docs/development
Please read: https://github.com/nodegui/.github/blob/master/CONTRIBUTING.md
npm run build [--qt_home_dir=/path/to/qt]
React 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 React NodeGui can be funded by anyone via Issuehunt and the amount will be distributed to respective contributors.
https://github.com/nodegui/.github/blob/master/CODE_OF_CONDUCT.md
MIT
People maintaining this project.
Atul R |
Thanks goes to these wonderful people (emoji key):
Rahul Gaba π» |
Kakul Gupta π» |
Eva1ent π» |
slidinghotdog π» |
Roy Sommer π» |
Natesh M Bhat π |
This project follows the all-contributors specification. Contributions of any kind welcome!