这个项目能做什么

Leptos 是一个用于构建声明式用户界面的全栈式、同构 Rust 网络框架。它利用细粒度响应式系统,这意味着组件只需运行一次即可创建实际的 DOM 节点并设置响应式系统,直接更新单个节点,而无需虚拟 DOM 的开销。 主要功能包括: - 全栈渲染:客户端渲染、服务端渲染(SSR)以及带水合的 SSR。 - HTTP 流式传输数据(资源)和 HTML(Suspense 组件的无序或有序流式传输)。 - 同构服务器函数:可在客户端组件旁编写仅服务器逻辑(数据库请求、身份验证),并以相同形式调用它们,而无需维护单独的 REST API。 - 基于网络基础构建的路由器(链接和表单),在服务器和客户端均可工作。 - 两种模板语法:类似 JSX 的 view! 宏和构建器语法。 - 复制 + 'static 响应式信号,便于状态管理。 该框架为 Actix 和 Axum 提供了启动模板,并与 cargo-leptos 构建工具集成。也可与 Trunk 或简单的 wasm-bindgen 设置一起使用。响应式系统还可以通过事件监听器和效果驱动原生 GUI 工具包。 相较于 Yew 和 Dioxus,Leptos 使用细粒度响应式而非虚拟 DOM。相较于 Sycamore,Leptos 使用类似 JSX 的模板格式,并将服务器函数包含在核心框架中,而不是依赖于独立的元框架。该项目表示其 API 已基本稳定,预计不会出现重大架构性破坏变更,并指出社区成员已将其用于生产网站。