Об этом проекте

Topcoat — это модульный Rust-фреймворк «всё включено» для создания полнофункциональных веб-приложений. Он ставит во главу угла простоту и продуктивность, предлагая уникальный подход, сочетающий серверный рендеринг с клиентской реактивностью без необходимости в отдельном уровне API или этапе сборки клиента. Ключевые возможности включают: - **Серверный рендеринг с асинхронными компонентами**: Компоненты могут быть асинхронными и напрямую запрашивать базу данных, устраняя типичную шаблонную работу с API. - **Клиентская реактивность без шаблонного кода**: Выражение `$(...)` — это типизированный Rust-код, который выполняется на сервере для начального рендеринга и транслируется в JavaScript для мгновенного повторного выполнения в браузере, без wasm-бандла или этапа сборки клиента. - **Мощные HTML-шаблоны**: Макрос `view!` поддерживает знакомые управляющие конструкции Rust, условные атрибуты и CLI-форматтер (`topcoat fmt`). - **Маршрутизация на основе модулей**: Возможность выводить дерево маршрутов из структуры модулей приложения без этапа сборки. - **Готовые компоненты**: Topcoat UI — это библиотека компонентов на основе Tailwind, вдохновлённая shadcn/ui, с компонентами, копируемыми в проект для лёгкой настройки. - **Сборка ресурсов**: Бандлер сканирует бинарник на вызовы `asset!`, копирует или загружает файлы и обслуживает их с агрессивным кэшированием. Включает утилиты для веб-шрифтов и иконок. - **Встроенная поддержка Tailwind**: Опциональная функция для интеграции Tailwind CSS без Node. - **Сторонние интеграции**: htmx, Alpine AJAX, Datastar и другие. Topcoat находится на ранней стадии разработки и является экспериментальным, ожидаются ломающие изменения. Дорожная карта включает такие функции, как статический экспорт, клиентская навигация, аутентификация и многое другое. Для получения дополнительной информации см. [Руководство по началу работы](https://github.com/tokio-rs/topcoat/blob/main/crates/topcoat/docs/getting_started.md) и [документацию](https://docs.rs/topcoat/latest/topcoat).