这个项目能做什么
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 已基本稳定,预计不会出现重大架构性破坏变更,并指出社区成员已将其用于生产网站。
评论
0 评分人数达到10人后显示
登录后参与讨论。