Desktop apps with Vue NodeGui
Shubham Zanwar
Agenda1. What is NodeGui? π€ 2. NodeGui demo π² 3. What is Vue NodeGui? π 4. Vue NodeGui demo π 5. Features πΈ 6. Internals π© 7. QnA βοΈβ
NodeGui π₯
A tool to create cross-platform native desktop applications using nodeJS.
https://nodegui.org
Layout support with
facebook/yoga
Styling support with
css-like Qt stylesheets
NodeGui demo π
Let's create a window πΌ
First meaningful app: Counter π
Familiar? π²
NodeGui
DOM
Vue NodeGui π
A library to create cross-platform native desktop applications using VueJS.
Vue3 renderer that combines with nodegui widgets
So what?
π
π€©
- Render truly native desktop widgets while using a very familiar API
- Create layouts and style components; again, while using a familiar API
- Be CPU and Memory efficient
- Leverage all the advantages of the existing JS ecosystem - Debugging, bundling, etc
- Have a declarative approach to building applications
Vue NodeGui demo π
Back to basics: counter π
Vue NodeGui :: Styling π
Vue NodeGui :: Events π¨
Vue NodeGui :: Debugging π
For debugging, you can use any standard solution for debugging nodeJS applications
- Chrome inspecter
- VS Code Debugger
Coming soon: An integration with Vue dev tools
Vue NodeGui :: Hot-reloading π
- Possible thanks to webpack
Uses the HotModuleReplacementPlugin() from webpack4
Vue NodeGui :: Documentation π
Internals π©
NodeGui
βAPIs
QPushButton
QWidget
QLabel
Custom Vue3 renderer
vn-button
vn-view
vn-text
NodeGui internals π©
JS Code that you write
NodeJS runtime (qode)
NodeGui
NodeGui plugins
Qt5 libraries
Thank you!
Links