Go to file
Atul R 7a83dda059
Merge pull request #109 from nodegui/feature/separate-headers
separates include headers and implementation
2019-09-21 23:10:33 +02:00
.github Update issue templates 2019-09-07 10:49:19 +02:00
config rename qtnode to nodegui_core 2019-09-20 23:42:03 +02:00
docs Merge pull request #106 from kant/patch-2 2019-09-21 22:05:25 +02:00
examples Moves examples to a separate repo and removes dependency on bindings node module 2019-08-17 19:28:26 +02:00
extras Update thanks.md 2019-09-08 08:20:26 +02:00
src separates include headers and implementation 2019-09-21 22:53:25 +02:00
.all-contributorsrc docs: update .all-contributorsrc 2019-09-20 21:04:40 +00:00
.gitignore Upgrade Yoga to latest 2019-07-23 23:34:36 +02:00
CMakeLists.txt separates include headers and implementation 2019-09-21 22:53:25 +02:00
LICENSE Initial commit 2019-05-14 18:41:18 +02:00
package-lock.json Adds cmake build support 2019-09-20 23:41:11 +02:00
package.json Adds exports and removed automoc script as we no longer need it (as cmake handles it for us) 2019-09-21 00:11:24 +02:00
README.md docs: update README.md 2019-09-20 21:04:39 +00:00
tsconfig.json Cleans up addon import 2019-09-21 00:05:46 +02:00

NodeGUI

Join the NodeGUI community on Spectrum All Contributors

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.

logo

How does it look?

demo_linux demo_win demo_mac
kitchendemo_macdemo_win

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.

Buy Me a Coffee at ko-fi.com     issuehunt

Special Thanks

License

MIT

Maintainers

People maintaining this project.

Atul R
Atul R

Contributors

Thanks goes to these wonderful people (emoji key):

Lucas Ramage
Lucas Ramage

📖
Denis Sikuler
Denis Sikuler

📖
Nahuel José
Nahuel José

💬
Kakul Gupta
Kakul Gupta

💻
Rahul Gaba
Rahul Gaba

💻
Paweł Borecki
Paweł Borecki

💻
Marcus S. Abildskov
Marcus S. Abildskov

⚠️
Átila Camurça Alves
Átila Camurça Alves

📖
James Hibbard
James Hibbard

💻
Soonwoo Hong
Soonwoo Hong

💻
Roy Sommer
Roy Sommer

💻
Paulo Coghi
Paulo Coghi

🤔
Balthild Ires
Balthild Ires

💻

This project follows the all-contributors specification. Contributions of any kind welcome!