Sobre o projeto

Leptos é um framework web full-stack e isomórfico em Rust, projetado para criar interfaces de usuário declarativas. Ele aproveita a reatividade de granularidade fina, o que significa que os componentes são executados uma vez para criar nós DOM reais e configurar um sistema reativo que atualiza os nós individuais diretamente, sem a sobrecarga do virtual DOM. As principais capacidades incluem: - Renderização full-stack: renderização no lado do cliente, renderização no lado do servidor (SSR) e SSR com hidratação. - Streaming HTTP de dados (Resources) e HTML (streaming fora de ordem ou em ordem de componentes Suspense). - Funções de servidor isomórficas: escreva lógica apenas de servidor (solicitações de banco de dados, autenticação) ao lado dos componentes do cliente e chame-as com a mesma forma, sem precisar manter uma API REST separada. - Um roteador construído sobre fundamentos da web (links e formulários) que funciona tanto no servidor quanto no cliente. - Duas sintaxes de template: um macro view! semelhante ao JSX e uma sintaxe de builder. - Sinais reativos Copy + 'static para gerenciamento de estado ergonômico. O framework fornece templates de partida para Actix e Axum, e integra-se com a ferramenta de construção cargo-leptos. Também pode ser usado com Trunk ou uma configuração simples de wasm-bindgen. O sistema reativo pode, adicionalmente, controlar toolkits de GUI nativos usando ouvintes de eventos e efeitos. Em comparação com Yew e Dioxus, Leptos utiliza reatividade de granularidade fina em vez de um virtual DOM. Em comparação com Sycamore, Leptos usa um formato de template semelhante ao JSX e inclui funções de servidor no framework principal, em vez de depender de um metaframework separado. O projeto afirma que suas APIs estão basicamente definidas, sem esperar grandes mudanças arquitetônicas de quebra, e observa que membros da comunidade estão usando-o para websites de produção.