9 个版本
0.9.0-beta.2 | 2023 年 10 月 6 日 |
---|---|
0.9.0-beta.1 | 2023 年 3 月 26 日 |
0.8.0 | 2022 年 8 月 28 日 |
0.8.0-beta.7 | 2022 年 6 月 26 日 |
0.8.0-beta.2 | 2022 年 2 月 6 日 |
#1249 在 WebAssembly
998 每月下载量
用于 12 个包(直接使用 2 个)
105KB
2K SLoC
Sycamore
Sycamore 是一个用于在 Rust 和 WebAssembly 中创建 Web 应用的 响应式 库。
#[component]
fn Hello<G: Html>() -> View<G> {
view! {
p { "Hello World!" }
}
}
- 闪电速度:Sycamore 通过 Rust 和 WebAssembly 实现了全面的功能,让您对性能有完全的控制。
- 易用且直观:编写自然的代码。所有内容都是基于 响应式原语 构建的,没有繁琐的虚拟 DOM。
- 无 JavaScript:厌倦了 JavaScript 吗?我们也是。使用 Sycamore 创建应用程序,无需接触任何一行 JS。
文档
Sycamore 有广泛的文档
还有问题吗? 不要犹豫,随时来我们友好的 Discord 服务器。
示例
Sycamore 在 examples/
目录中有许多示例供您参考。务必查看它们!
在 sycamore-rs.netlify.app
上查看
所有示例都托管在 sycamore-rs.netlify.app/examples/<example_name>
下,其中 <example_name>
是您要查看的示例名称。例如,todomvc
示例托管在 sycamore-rs.netlify.app/examples/todomvc
。
本地构建
所有示例也可以使用 Trunk 在本地构建。例如,以下命令构建并服务了 todomvc
示例
cd examples/todomvc
trunk serve
现在在您的浏览器中打开 localhost:8080
以查看 "Hello World!"。
Perseus
Perseus 是一个使用 Sycamore 构建的 fullstack 框架。想想 NextJS 或 SvelteKit,但没有 JavaScript。从后端到前端的所有内容都是用纯 Rust 构建!
替代方案?
认为 Sycamore 不适合您?幸运的是,有很多替代方案!
- SolidJS:用于构建用户界面的声明性、高效和灵活的 JavaScript 库
Solid 是一个 JavaScript 库,它极大地启发了 Sycamore。许多概念,如细粒度反应性和组件作为工厂函数,都是从 Solid 中借鉴的。如果您不介意使用 JavaScript(或 TypeScript),可以去看看! - Yew:用于构建客户端 Web 应用程序的 Rust / Wasm 框架
Yew 也是 Sycamore 的一个重要灵感来源。Yew 使用 VDOM 并具有 MVU(Elm)架构。如果您认为这适合您,请看看! - MoonZoon:Rust Fullstack 框架
MoonZoon 同样推崇无 VDOM 的范式,并使用 dominator 作为其底层 DOM 层。MoonZoon 是一个 fullstack 框架,使得将前端和后端代码结合起来变得更容易,且代码冗余最小。
贡献
Sycamore 的实现离不开社区的美好贡献。感谢您!
特别感谢 @nate-sys 为 Sycamore 设计标志!
依赖关系
~1.3–4.5MB
~82K SLoC