#reactive #gui #web-apps #proc-macro

sycamore-router-macro

Sycamore-router的proc-macro crate

20次发布

0.9.0-beta.22023年10月6日
0.9.0-beta.12023年3月26日
0.8.0 2022年8月28日
0.8.0-beta.72022年6月26日
0.5.2 2021年7月18日

206#reactive

Download history 158/week @ 2024-03-13 168/week @ 2024-03-20 236/week @ 2024-03-27 272/week @ 2024-04-03 150/week @ 2024-04-10 155/week @ 2024-04-17 167/week @ 2024-04-24 148/week @ 2024-05-01 134/week @ 2024-05-08 134/week @ 2024-05-15 155/week @ 2024-05-22 179/week @ 2024-05-29 143/week @ 2024-06-05 115/week @ 2024-06-12 144/week @ 2024-06-19 126/week @ 2024-06-26

550 每月下载
用于 10 个crate(通过 sycamore-router

MIT 协议

27KB
534

Sycamore

Crates.io docs.rs GitHub contributors Discord

Sycamore是一个用于在 RustWebAssembly 中创建Web应用程序的 响应式 库。

#[component]
fn Hello<G: Html>() -> View<G> {
    view! { 
        p { "Hello World!" }
    }
}
  • 闪电速度:Sycamore通过 RustWebAssembly 全力发挥其性能。
  • 易用且直观:编写自然的感觉的代码。所有内容都是基于 响应式原语 构建的,无需复杂的虚拟DOM。
  • 无JavaScript:厌倦了JavaScript?我们也一样。使用Sycamore创建应用程序,无需接触任何JS代码。

文档

Sycamore有详细的文档

  • 入门:如何编写第一个Sycamore应用程序。
  • 响应式:了解如何使用Sycamore强大的响应式原语。
  • API文档sycamore crate的rustdocs。

还有问题? 不要犹豫,随时来我们友好的 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 框架。想象一下 NextJSSvelteKit,但没有 JavaScript。从后端到前端的所有内容都是用纯 Rust 构建的!

替代方案?

认为 Sycamore 不适合您?幸运的是,有很多替代方案!

  • SolidJS:一个用于构建用户界面的声明性、高效且灵活的 JavaScript 库
    Solid 是一个受到 Sycamore 极大启发的 JavaScript 库。许多概念,如细粒度反应性和组件作为工厂函数,都是从 Solid 中借鉴的。如果您不介意使用 JavaScript(或 TypeScript),可以去看看!
  • Yew:用于构建客户端 Web 应用的 Rust / Wasm 框架
    Yew 也是 Sycamore 的一个重要灵感来源。Yew 使用 VDOM,并采用 MVU(Elm)架构。如果您认为这适合您,可以看看!
  • MoonZoon:Rust 全栈框架
    MoonZoon 同样推崇无 VDOM 的范式,并使用 dominator 作为其底层 DOM 层。MoonZoon 是一个全栈框架,使得将前端和后端代码结合在一起变得更加容易,且无需大量模板代码。

贡献

Sycamore 的实现离不开社区的优秀贡献。感谢大家!

特别感谢 @nate-sys 为 Sycamore 设计标志!

依赖

~1.2–2MB
~39K SLoC