# linebender/xilem

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/linebender-xilem).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

5,415 stars · 219 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/linebender/xilem
- awesome-repositories: https://awesome-repositories.com/repository/linebender-xilem.md

## Description

Xilem is a native user interface framework for the Rust programming language. It provides a reactive view tree that links application state to the interface to automate updates when data changes.

The framework incorporates a GPU-accelerated 2D graphics engine and a dedicated text layout engine to handle complex typography and high-performance visual rendering. It is built as an accessible UI framework with integrated support for system accessibility services and screen readers.

The system utilizes a retained-mode architecture with a graphics pipeline that translates drawing commands into hardware-accelerated shaders and buffers. It manages cross-platform native rendering and view-tree state reconciliation to maintain the interface structure.

## Tags

### User Interface & Experience

- [Reactive UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/reactive-ui-frameworks.md) — Provides a reactive UI framework that automatically updates the interface when linked application state changes. ([source](https://cdn.jsdelivr.net/gh/linebender/xilem@main/README.md))
- [Accessible UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/accessible-ui-frameworks.md) — Offers a UI framework with built-in integration for system accessibility services and standards.
- [Cross-Platform Native Renderers](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/native-ui-renderers/cross-platform-native-renderers.md) — Provides a system that compiles declarative UI definitions into native platform views across multiple operating systems.
- [Rust Native Toolkits](https://awesome-repositories.com/f/user-interface-experience/native-widget-toolkits/rust-native-toolkits.md) — Provides a native UI toolkit implemented in Rust for building high-performance desktop applications.
- [Reactive User Interfaces](https://awesome-repositories.com/f/user-interface-experience/reactive-user-interfaces.md) — Implements a reactive design where the visual state automatically synchronizes with application data streams.
- [Retained State UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/retained-state-ui-frameworks.md) — Utilizes a retained-mode architecture that maintains a persistent object model for widgets and layout state.
- [Rust Native UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/rust-native-ui-frameworks.md) — Provides a comprehensive framework for building high-performance, cross-platform native user interfaces using Rust.
- [Screen Reader Accessibility](https://awesome-repositories.com/f/user-interface-experience/screen-reader-accessibility.md) — Integrates with system services to provide programmatic labels and updates for assistive tools and screen readers. ([source](https://cdn.jsdelivr.net/gh/linebender/xilem@main/README.md))
- [Native Accessibility Bridges](https://awesome-repositories.com/f/user-interface-experience/screen-reader-accessibility/native-accessibility-bridges.md) — Maps internal UI components to native OS accessibility APIs for screen reader and assistive tool compatibility.
- [Reactive View Trees](https://awesome-repositories.com/f/user-interface-experience/tree-views/reactive-view-trees.md) — Links application state to a lightweight view tree to automatically update the interface upon data changes.

### Graphics & Multimedia

- [GPU Hardware Acceleration](https://awesome-repositories.com/f/graphics-multimedia/gpu-hardware-acceleration.md) — Implements a graphics pipeline that uses GPU hardware acceleration for high-performance 2D rendering.
- [2D Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/webgl-gpu-rendering/2d-rendering-engines.md) — Ships a 2D rendering engine optimized for drawing shapes and visuals using hardware acceleration. ([source](https://cdn.jsdelivr.net/gh/linebender/xilem@main/README.md))
- [Text Shaping and Layout](https://awesome-repositories.com/f/graphics-multimedia/text-shaping-and-layout.md) — Includes a dedicated engine for calculating precise glyph positioning and styling for consistent typography. ([source](https://cdn.jsdelivr.net/gh/linebender/xilem@main/README.md))

### Operating Systems & Systems Programming

- [GPU-Accelerated UI Rendering](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/graphics-acceleration/gpu-accelerated-ui-rendering.md) — Leverages graphics pipelines and GPU acceleration to render high-performance user interfaces.

### Web Development

- [Reactive Data Binding](https://awesome-repositories.com/f/web-development/reactive-data-binding.md) — Automatically synchronizes the user interface state with underlying application data sources.

### Software Engineering & Architecture

- [Widget Tree Reconciliation](https://awesome-repositories.com/f/software-engineering-architecture/trees/incremental-reconciliation/widget-tree-reconciliation.md) — Implements widget tree reconciliation to update only modified branches of the interface during state changes.

### Part of an Awesome List

- [Frontend Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/frontend-frameworks.md) — Experimental UI framework focused on reactive data flow.
