Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Light

Light — декларативный реактивный GUI-фреймворк для Rust. Вы пишете HTML-разметку с директивами (v-if, v-for, v-model), описываете состояние реактивными свойствами (#[proxy]), а Light компилирует шаблоны на этапе сборки в Rust-код, строящий виртуальный DOM. Окна создаются на winit, а программно нарисованный кадр показывается через softbuffer; wgpu доступен отдельной фичей wgpu-backend.

  • Компиляция вместо интерпретации. Шаблоны превращаются в Rust на этапе сборки: в рантайме нет HTML-парсера и интерпретатора разметки.
  • Гранулярная реактивность. Изменение свойства перерисовывает только зависящие узлы виртуального дерева.
  • Нативные окна. Безрамочные окна, кастомный titlebar, модальные окна и несколько окон — из коробки.
  • Платите только за используемое. Каждая подсистема — Cargo-фича; код выключенных возможностей не попадает в бинарник.
  • Компактные бинарники. Программный рендеринг через softbuffer включён по умолчанию: release-сборка демо занимает ~1.7 MB вместо ~7.7 MB с wgpu.

С чего начать

Статус

Текущая версия — 0.6.1. Проект в стадии пре-1.0: публичный API ещё не стабилен и может меняться между минорными версиями.

Ссылки