Простая в использовании библиотека immediate mode GUI для Rust, работающая в браузере и нативных приложениях и встраиваемая в игровые движки.
iced-rs/iced
Кроссплатформенная GUI-библиотека для Rust с простой типобезопасной моделью разработки в духе Elm.
- Звёзды
- 31,808
- Форки
- 1,709
- Открытые issues
- 512
- Последний коммит
- 7 часов назад
Что это?
Iced — GUI-библиотека для Rust, с помощью которой можно создавать интерфейсы для десктопа и веба, используя архитектуру в стиле Elm. Интерфейс состоит из состояния, сообщений, функции view, которая отображает состояние в виде виджетов, и функции update, которая реагирует на сообщения, изменяя состояние. Библиотека берет на себя компоновку и обработку событий, поэтому в коде приложения нужно описать только то, что отображает интерфейс и как он реагирует.
Iced работает в Windows, macOS, Linux и Web. В библиотеку входят готовые виджеты, например поля ввода текста и прокручиваемые области; также можно создавать собственные виджеты. Для асинхронных действий предусмотрена полноценная поддержка на основе futures. Модульная архитектура отделяет runtime, не зависящий от рендерера, от самих рендереров: iced_wgpu использует wgpu для Vulkan, Metal и DX12, а iced_tiny_skia служит программным запасным вариантом. Связать эти компоненты с операционной системой помогает оконная оболочка.
Авторы называют проект экспериментальным ПО, поэтому API может меняться от релиза к релизу.
Ключевые возможности
- 01Модель в стиле Elm с состоянием, сообщениями, функциями view и update и типобезопасными сообщениями
- 02Поддержка Windows, macOS, Linux и Web
- 03Готовые виджеты, включая поля ввода текста и прокручиваемые области, а также поддержка собственных виджетов
- 04Рендереры на основе wgpu (Vulkan, Metal, DX12) и программный запасной вариант на tiny-skia
- 05Полноценная поддержка асинхронных действий с использованием futures
Сценарии использования
- Разработка кроссплатформенного десктопного приложения на чистом Rust
- Создание небольшого инструмента или утилиты с интерфейсом в нативном стиле
- Встраивание GUI-runtime, не зависящего от рендерера, в существующую систему
- Изучение архитектуры в стиле Elm в GUI-коде на Rust
Быстрый старт
- 1
Добавьте crate iced в свой проект на Rust
- 2
Чтобы узнать больше, прочитайте книгу, документацию и примеры
Что важно знать
- В README указано, что Iced в настоящее время является экспериментальным программным обеспечением.
- В README проект описан как находящийся на ранней стадии; между версиями могут появляться несовместимые изменения.
Темы
Частые вопросы
- Что такое iced?
- Кроссплатформенная GUI-библиотека для Rust с простой типобезопасной моделью разработки в духе Elm. Iced — GUI-библиотека для Rust, с помощью которой можно создавать интерфейсы для десктопа и веба, используя архитектуру в стиле Elm. Интерфейс состоит из состояния, сообщений, функции view, которая отображает состояние в виде виджетов, и функции update, которая реагирует на сообщения, изменяя состояние. Библиотека берет на себя компоновку и обработку событий, поэтому в коде приложения нужно описать только то, что отображает интерфейс и как он реагирует.
- iced можно использовать бесплатно? Какая у него лицензия?
- iced распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- iced всё ещё поддерживается?
- Активно поддерживается. Последний коммит в iced — 21 окт. 2026 г..
- Для чего можно использовать iced?
- Разработка кроссплатформенного десктопного приложения на чистом Rust Создание небольшого инструмента или утилиты с интерфейсом в нативном стиле Встраивание GUI-runtime, не зависящего от рендерера, в существующую систему Изучение архитектуры в стиле Elm в GUI-коде на Rust
- Как установить iced?
- Добавьте crate iced в свой проект на Rust Чтобы узнать больше, прочитайте книгу, документацию и примеры
- Где скачать iced?
- Исходный код и инструкции по установке — на GitHub: https://github.com/iced-rs/iced
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Slint — декларативный GUI-фреймворк для создания нативных интерфейсов в приложениях на Rust, C++, JavaScript и Python.
Набор компонентов для Rust GUI с более чем 75 стилизованными компонентами для кроссплатформенных приложений на GPUI.
Rust-движок для кроссплатформенных нативных интерфейсов: пишите приложения на Rust или TSX и используйте виджеты каждой платформы.
Открытый фоторедактор, созданный с нуля на чистом Rust: слои, маски, корректирующие слои, текст, векторные фигуры и полноценная поддержка PSD.
Лёгкий нативный клиент Spotify для компьютера на Rust: воспроизводит музыку локально и поддерживает Spotify Connect в Linux, macOS и Windows.