Xilem: Let's Build High Performance Rust UI - Raph Levien
HTML-код
- Опубликовано: 3 июн 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 Наука
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
JS/TS has capabilities to do OOP-based UI, but most UI frameworks still chose the declarative model (React-like).
super cool!
This is the talk he's referring to at RustLab ruclips.net/video/mmW_RbTyj8c/видео.html
Weird that Google is funding it with their 100% commitment to Jetpack Compose
The work they're doing is not tied to Xilem and the performance benefits can be easily brought to other UI toolkits (namely Jetpack Compose).
another project that google will start and killed at some point in time
I love the idea, I hate the name.