# hecrj/iced

**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/hecrj-iced).**

30,762 stars · 1,584 forks · Rust · MIT

## Links

- GitHub: https://github.com/hecrj/iced
- Homepage: https://iced.rs
- awesome-repositories: https://awesome-repositories.com/repository/hecrj-iced.md

## Description

Iced is a cross-platform GUI library for Rust designed for building native desktop applications. It functions as a reactive toolkit that manages application state by mapping user interactions to messages, which then trigger automatic view refreshes.

The framework utilizes a rendering system that supports both hardware-accelerated GPU graphics and software backends to ensure compatibility across multiple operating systems. It implements a reactive model inspired by the Elm architecture to coordinate state updates and view reconciliation.

The toolkit includes a flexible layout engine and a modular widget system for creating custom user interface components. It also incorporates asynchronous execution primitives to handle long-running background tasks without blocking the main interface thread.

Diagnostic utilities are available for analyzing user interface performance and debugging state transitions.

## Tags

### User Interface & Experience

- [Cross-Platform GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/cross-platform-gui-toolkits.md) — Serves as a toolkit for building native graphical user interfaces that run across multiple operating systems.
- [Application State Managers](https://awesome-repositories.com/f/user-interface-experience/application-state-managers.md) — Manages application-wide state through a message-based system that coordinates view updates. ([source](https://github.com/hecrj/iced#readme))
- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-frameworks.md) — Provides a comprehensive framework for developing consistent, responsive desktop interfaces across multiple platforms.
- [Reactive UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/reactive-ui-frameworks.md) — Implements a reactive framework inspired by the Elm architecture to automatically update the user interface based on state changes. ([source](https://github.com/hecrj/iced#readme))
- [GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/gui-toolkits.md) — Functions as a reactive GUI toolkit for building native cross-platform applications.
- [Custom Widget Frameworks](https://awesome-repositories.com/f/user-interface-experience/custom-widget-frameworks.md) — Provides traits and interfaces for developers to implement custom, specialized UI widgets. ([source](https://github.com/hecrj/iced#readme))
- [Dynamic Layout Engines](https://awesome-repositories.com/f/user-interface-experience/dynamic-layout-engines.md) — Provides a dynamic layout engine that calculates widget positions and dimensions based on available screen size.
- [Modular UI Components](https://awesome-repositories.com/f/user-interface-experience/modular-ui-components.md) — Offers a modular system for building complex interfaces from independent, reusable UI components.

### Graphics & Multimedia

- [Hardware-Accelerated Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering.md) — Leverages GPU acceleration to ensure high-performance rendering and smooth visual transitions.
- [Cross-Platform Rendering Layers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering/cross-platform-rendering-layers.md) — Provides an abstraction layer that maps UI definitions to various cross-platform hardware-accelerated canvases. ([source](https://github.com/hecrj/iced#readme))
- [Rendering Backends](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering/rendering-backends.md) — Implements a flexible system of rendering backends that support both GPU acceleration and software-based drawing.

### Operating Systems & Systems Programming

- [UI Graphics Acceleration](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/ui-graphics-acceleration.md) — Ships a rendering system that utilizes GPU acceleration to draw high-performance user interfaces.

### Programming Languages & Runtimes

- [Rust](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/rust.md) — Provides a high-performance GUI framework built specifically for the Rust programming language.
- [Rust GUI Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/rust-gui-libraries.md) — Provides a native Rust library for creating reactive, cross-platform graphical user interfaces.

### Software Engineering & Architecture

- [Reactive State Management](https://awesome-repositories.com/f/software-engineering-architecture/reactive-state-management.md) — Implements a reactive architecture where messages drive state transitions and trigger automatic view refreshes.
- [Widget Tree Reconciliation](https://awesome-repositories.com/f/software-engineering-architecture/trees/incremental-reconciliation/widget-tree-reconciliation.md) — Employs widget tree reconciliation to efficiently update the visual interface by diffing state changes.
- [Unidirectional State Management](https://awesome-repositories.com/f/software-engineering-architecture/unidirectional-state-management.md) — Utilizes a unidirectional state management model inspired by Elm for predictable data flow and view updates.
- [Asynchronous Background Processors](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-background-processors.md) — Provides background processors that prevent the main UI thread from freezing during heavy computational tasks. ([source](https://github.com/hecrj/iced#readme))
- [Asynchronous Task Execution](https://awesome-repositories.com/f/software-engineering-architecture/concurrency-models/asynchronous-task-execution.md) — Uses asynchronous task execution to offload long-running operations and keep the user interface responsive.

### Part of an Awesome List

- [Inspired By Elm](https://awesome-repositories.com/f/awesome-lists/learning/inspired-by-elm.md) — Cross-platform GUI library for Rust inspired by Elm.
