README
NodeGUI React Desktop
Build performant, native and cross-platform desktop applications with JavaScript + powerful CSS like styling.π
React Desktop is powered by React βοΈ and Qt5 π which makes it CPU and memory efficient as compared to other chromium based solutions like electron. React Desktop is essentially a React renderer for NodeGUI.
Visit: https://nodegui.github.io/nodegui for docs.
How does it look?
More screenshots?
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 event available from Qt / NodeJs.
- πΈ Can be used for Commercial applications.
- π΅οΈββοΈ Good Devtools support (hot reload, live reload, debugging etc).
- π 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 react-desktop-starter to get up and running with your own React Desktop app!
- Read through the docs
Docs for contributing
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/docs/development
Building
npm run build [--qt_home_dir=/path/to/qt]
LICENSE
MIT