Topcoat: команда Tokio представила «Rails для Rust» 🦀
Topcoat - экспериментальный fullstack-фреймворк с готовой маршрутизацией, серверным рендерингом, компонентами и сборкой ассетов.
Главная идея — реактивность без отдельного JavaScript-кода и WASM. Вы пишете обычное типизированное Rust-выражение:
При первом рендере оно выполняется на сервере, а затем Topcoat переводит его в JavaScript, чтобы интерфейс мгновенно обновлялся в браузере.
Что уже есть:
- асинхронные серверные компоненты с прямым доступом к базе;
-
- маршруты, автоматически определяемые по структуре модулей;
- редактируемые UI-компоненты на Tailwind в духе shadcn/ui;
- встроенная сборка ассетов;
- интеграции с Tailwind и htmx;
- серверные функции и частичное обновление HTML.
Отдельный API-слой во многих сценариях не требуется: компонент может получить данные и сразу отрисовать страницу.
Проект пока находится на ранней экспериментальной стадии, поэтому возможны серьёзные изменения API. В планах — аутентификация, фоновые задачи, WebSocket, потоковый SSR и клиентская навигация.
https://github.com/tokio-rs/topcoat
#rust #rustlang #webdev #fullstack #tokio #opensource
Topcoat - экспериментальный fullstack-фреймворк с готовой маршрутизацией, серверным рендерингом, компонентами и сборкой ассетов.
Главная идея — реактивность без отдельного JavaScript-кода и WASM. Вы пишете обычное типизированное Rust-выражение:
<button @click=$(|_e| open.set(!open.get()))>
"Что такое Topcoat?"
</button>
При первом рендере оно выполняется на сервере, а затем Topcoat переводит его в JavaScript, чтобы интерфейс мгновенно обновлялся в браузере.
Что уже есть:
- асинхронные серверные компоненты с прямым доступом к базе;
-
view!`-шаблоны с обычными `if и for из Rust;- маршруты, автоматически определяемые по структуре модулей;
- редактируемые UI-компоненты на Tailwind в духе shadcn/ui;
- встроенная сборка ассетов;
- интеграции с Tailwind и htmx;
- серверные функции и частичное обновление HTML.
Отдельный API-слой во многих сценариях не требуется: компонент может получить данные и сразу отрисовать страницу.
Проект пока находится на ранней экспериментальной стадии, поэтому возможны серьёзные изменения API. В планах — аутентификация, фоновые задачи, WebSocket, потоковый SSR и клиентская навигация.
https://github.com/tokio-rs/topcoat
#rust #rustlang #webdev #fullstack #tokio #opensource
👍34❤12🤯9🥴2🗿2💊2🔥1😁1