Comments (2)
Thanks for your interest!
Yes SwiftuUI is a VDOM-like frontend to UIKit/AppKit. For Audulus, I found that CoreAnimation (which is used by both UIKit and AppKit) wasn't good enough performance, so first I used nanovg, then wrote my own (vger). Things might be better nowadays with more things rendered on the GPU, but if my recent experiments with SwiftUI's canvas are any indication, it's not very good performance (I used SwiftUI's canvas here: https://github.com/audiokit/flow). It's definitely possible that using CAShapeLayer for various things would have good enough performance for my needs, but I can't afford the time spent to find out.
In short, the way I did rui is motivated by the somewhat atypical needs of my app, Audulus. That said, a lot of other rust and non-rust UI's go the same way and don't wrap the underlying native toolkit: Qt, JUCE, Druid to name a few.
cheers
from rui.
@wtholliday Oh thanks for the speedy reply!
from rui.
Related Issues (20)
- try to make statically typed state tree
- can we nest states using only references? HOT 1
- support for layout where things don't expand to the available space HOT 1
- h/v/zstacks should have different modifiers
- make rui more testable
- Z-sorting components based on user interaction HOT 1
- Andoid OS HOT 1
- Get error when running the example HOT 6
- Update on README or perhaps including a change log? HOT 1
- Question: Is there a reason why `Key::Character` takes `&'static str` and not `char`? HOT 9
- passing a view into a `state` closure
- keyboard input for symbol characters doesn't work on linux HOT 2
- update to latest winit and wgpu
- can we display source code location when hovering?
- Potential bug? drag() callback is never called with GestureState::Began HOT 1
- store id paths instead of hashing the paths
- don't pass the context all over the place HOT 1
- Rendering artifacts with vger path fill in canvas HOT 3
- How to make transparent click-through overlay that shows current time?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rui.