Фреймворк на Rust для создания веб-, десктопных и мобильных приложений на единой кодовой базе с компонентами и сигналами в духе React.
slint-ui/slint
Slint — декларативный GUI-фреймворк для создания нативных интерфейсов в приложениях на Rust, C++, JavaScript и Python.
- Звёзды
- 24,241
- Форки
- 1,038
- Открытые issues
- 749
- Последний коммит
- 2 часа назад
Что это?
Slint позволяет один раз описать пользовательский интерфейс на собственном языке разметки `.slint`, а затем связать его с бизнес-логикой на Rust, C++, JavaScript или Python. Файлы `.slint` заранее компилируются в нативный код. Проект рассчитан на встраиваемые системы, настольные компьютеры и мобильные платформы; также доступен набор веб-демо на WebAssembly.
Инструментарий отделяет дизайн интерфейса от логики приложения, благодаря чему дизайнеры и разработчики могут работать параллельно. Среди бэкендов рендеринга — OpenGL ES 2.0 (femtovg), Skia и программный рендерер, использующий только CPU; если установлен Qt, можно использовать стиль Qt. В инструментарий входят LSP-сервер с автодополнением и предпросмотром в реальном времени, расширение для Visual Studio Code, CLI-утилита `slint-viewer` с автоматической перезагрузкой и плагин для переноса дизайнов из Figma в Slint.
Slint распространяется по двойной лицензии: с возможностью использовать его без роялти в проприетарных настольных, мобильных и веб-приложениях, по GPLv3 для проектов с открытым исходным кодом, а также по коммерческой лицензии для проприетарных приложений во встраиваемых системах.
Ключевые возможности
- 01Декларативный язык разметки `.slint` для описания компоновки, свойств и привязок.
- 02Привязки для Rust, C++, JavaScript и Python.
- 03Предварительная компиляция в нативный код.
- 04Несколько рендереров: femtovg (OpenGL ES 2.0), Skia и программный рендерер (CPU).
- 05Предпросмотр в реальном времени, LSP-сервер и расширение для VS Code для редактирования файлов .slint.
- 06Плагин для переноса дизайнов из Figma в Slint.
Сценарии использования
- Создание GUI для настольных и мобильных приложений на Rust или C++.
- Разработка интерфейсов для встраиваемых устройств, например Raspberry Pi или микроконтроллеров.
- Публикация веб-интерфейсов, скомпилированных в WebAssembly.
- Раздельная работа дизайнеров и разработчиков над интерфейсом и логикой.
Быстрый старт
- 1
Откройте пример Hello World в SlintPad, ничего не устанавливая
- 2
Выберите язык и используйте соответствующий Getting Started Template, например шаблон Rust
- 3
Следуйте инструкциям в README для выбранного языка, чтобы установить пакет Slint
Что важно знать
- Для использования Slint в проприетарных приложениях требуется лицензия без роялти или коммерческая лицензия; вариант GPLv3 предназначен для приложений с открытым исходным кодом.
- Привязки для JavaScript/NodeJS и Python помечены как Beta.
Темы
Частые вопросы
- Что такое slint?
- Slint — декларативный GUI-фреймворк для создания нативных интерфейсов в приложениях на Rust, C++, JavaScript и Python. Slint позволяет один раз описать пользовательский интерфейс на собственном языке разметки `.slint`, а затем связать его с бизнес-логикой на Rust, C++, JavaScript или Python. Файлы `.slint` заранее компилируются в нативный код. Проект рассчитан на встраиваемые системы, настольные компьютеры и мобильные платформы; также доступен набор веб-демо на WebAssembly.
- slint можно использовать бесплатно? Какая у него лицензия?
- slint распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- slint всё ещё поддерживается?
- Активно поддерживается. Последний коммит в slint — 21 окт. 2026 г..
- Для чего можно использовать slint?
- Создание GUI для настольных и мобильных приложений на Rust или C++. Разработка интерфейсов для встраиваемых устройств, например Raspberry Pi или микроконтроллеров. Публикация веб-интерфейсов, скомпилированных в WebAssembly. Раздельная работа дизайнеров и разработчиков над интерфейсом и логикой.
- Как установить slint?
- Откройте пример Hello World в SlintPad, ничего не устанавливая Выберите язык и используйте соответствующий Getting Started Template, например шаблон Rust Следуйте инструкциям в README для выбранного языка, чтобы установить пакет Slint
- Где скачать slint?
- Исходный код и инструкции по установке — на GitHub: https://github.com/slint-ui/slint
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Кроссплатформенная GUI-библиотека для Rust с простой типобезопасной моделью разработки в духе Elm.
Простая в использовании библиотека immediate mode GUI для Rust, работающая в браузере и нативных приложениях и встраиваемая в игровые движки.
Бесплатная UI-библиотека на C с лицензией MIT для создания графических интерфейсов на встраиваемых устройствах — от небольших MCU до MPU под управлением Linux.
Кроссплатформенный UI-фреймворк на C++17 с GLFW/SDL2 для окон и OpenGL/Vulkan для рендеринга, построенный вокруг декларативного DSL.
Rust-движок для кроссплатформенных нативных интерфейсов: пишите приложения на Rust или TSX и используйте виджеты каждой платформы.