Xilem: Let's Build High Performance Rust UI - Raph Levien

Sdílet
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

Komentáře • 10

  • @isaactfa
    @isaactfa Před 21 dnem +7

    He's really Donald Knuth-ing it.

  • @dbug64
    @dbug64 Před 22 dny +5

    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?

    • @DavidSchmitt
      @DavidSchmitt Před 20 dny +2

      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)

    • @dbug64
      @dbug64 Před 20 dny +4

      @@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.

    • @DavidSchmitt
      @DavidSchmitt Před 20 dny +2

      @@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

  • @irlshrek
    @irlshrek Před 23 dny +1

    super cool!

  • @akithered
    @akithered Před 14 dny +2

    This is the talk he's referring to at RustLab czcams.com/video/mmW_RbTyj8c/video.html

  • @avwie132
    @avwie132 Před hodinou

    Weird that Google is funding it with their 100% commitment to Jetpack Compose

  • @GigachadRustacean-lu8bo
    @GigachadRustacean-lu8bo Před 9 minutami

    another project that google will start and killed at some point in time

  • @DavoGalavotti
    @DavoGalavotti Před 13 dny

    I love the idea, I hate the name.