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

Leptos — это полнофункциональный изоморфный веб-фреймворк на Rust, предназначенный для создания декларативных пользовательских интерфейсов. Он использует тонкую реактивность, что означает, что компоненты выполняются один раз для создания фактических узлов DOM и настройки реактивной системы, которая обновляет отдельные узлы напрямую, без накладных расходов на виртуальный DOM. Основные возможности включают: - Полнофункциональное рендеринг: рендеринг на стороне клиента, рендеринг на стороне сервера (SSR) и SSR с гидратацией. - HTTP-стриминг как данных (Resources), так и HTML (вне-порядка или в-порядка стриминг компонентов Suspense). - Изоморфные серверные функции: написание серверной логики (запросы к базе данных, аутентификация) рядом с клиентскими компонентами и вызов их с той же формой без необходимости поддерживать отдельный REST API. - Роутер, построенный на веб-фундаментах (ссылки и формы), который работает как на сервере, так и на клиенте. - Два синтаксиса шаблонов: макрос view!, похожий на JSX, и синтаксис построителя. - Копирование + 'static реактивные сигналы для эргономичного управления состоянием. Фреймворк предоставляет стартовые шаблоны для Actix и Axum, а также интегрируется с инструментом сборки cargo-leptos. Он также может использоваться с Trunk или простой настройкой wasm-bindgen. Реактивная система может дополнительно управлять нативными графическими интерфейсами с помощью слушателей событий и эффектов. По сравнению с Yew и Dioxus, Leptos использует тонкую реактивность вместо виртуального DOM. По сравнению с Sycamore, Leptos использует формат шаблона, похожий на JSX, и включает серверные функции в ядро фреймворка, а не полагается на отдельный метафреймворк. Проект заявляет, что его API в основном устоялись, и не ожидается серьезных архитектурных изменений, а также отмечает, что члены сообщества используют его для производственных веб-сайтов.