Xilem: Let's Build High Performance Rust UI - Raph Levien
Vložit
- čas přidán 3. 06. 2024
- Xilem is a new UI toolkit designed for high performance and idiomatic expression of UI and app logic, suitable for both desktop and mobile. Xilem is built in a layered architecture. At the top is a reactive layer where views are simple statically typed Rust structs (though type erasure is possible), and no macros are needed. The widget layer is evolved from Druid. At the infrastructure layer is Vello, a 2D rendering engine using GPU compute shaders, specially tuned for dynamic vector graphics content. The text stack is also tuned for performance, including supporting animation of variable font parameters. Accessibility is a primary goal, and integration with AccessKit is baked in from the start. Another goal is interop with other projects in the Rust ecosystem, including wgpu, and providing a clean abstraction layer for widgets. It is work in progress, with a strong open source community driving toward ambitious goals.
Slides: docs.google.com/presentation/...
Follow Raph on:
mastodon: mastodon.online/@raph
github: github.com/raphlinus
This talk was given at RustNL 2024, in Delft, The Netherlands.
Playlist of other talks from RustNL 2024: • RustNL 2024
Want to come to RustWeek 2025 in-person? go to 2025.rustnl.org - Věda a technologie
He's really Donald Knuth-ing it.
How many UI frameworks has Raph now started? :^)
Are they connected to each other somehow? Or are we(Rust community) still searching for the best way to do non-OO UI in Rust?
I'd expect the number of projects to consolidate as people are figuring out what does work and start focusing on higher levels (like how many projects are already building on top of winit)
@@DavidSchmitt Even if it's fragmented I find this exploration very interesting in many ways. Like you point out, winit is used a lot, accessabilitykit too.
I read that someone experimented with using the async paradigm as a base for UI.
The immediate UI's feels like a functional approach, given a state, create the UI from it.
@@dbug64 I also expect that basic infrastructure libraries like winit have a lot less integration concerns with the higher level frameworks compared to e.g. widget libraries
super cool!
This is the talk he's referring to at RustLab czcams.com/video/mmW_RbTyj8c/video.html
Weird that Google is funding it with their 100% commitment to Jetpack Compose
another project that google will start and killed at some point in time
I love the idea, I hate the name.