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
  • НаукаНаука

Комментарии • 12

  • @isaactfa
    @isaactfa Месяц назад +8

    He's really Donald Knuth-ing it.

  • @dbug64
    @dbug64 Месяц назад +7

    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 Месяц назад +4

      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 Месяц назад +6

      @@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 Месяц назад +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

    • @khai96x
      @khai96x 14 дней назад +1

      JS/TS has capabilities to do OOP-based UI, but most UI frameworks still chose the declarative model (React-like).

  • @irlshrek
    @irlshrek Месяц назад +1

    super cool!

  • @akithered
    @akithered 29 дней назад +2

    This is the talk he's referring to at RustLab ruclips.net/video/mmW_RbTyj8c/видео.html

  • @avwie132
    @avwie132 15 дней назад

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

    • @faisalxd369
      @faisalxd369 3 часа назад

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

  • @GigachadRustacean-lu8bo
    @GigachadRustacean-lu8bo 14 дней назад +1

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

  • @DavoGalavotti
    @DavoGalavotti 28 дней назад

    I love the idea, I hate the name.