What Yew Does
- Components — function and struct components
- html! macro — JSX-like syntax for Rust
- Hooks — use_state, use_effect, use_context, use_reducer
- Virtual DOM — efficient diffing and patching
- Agent system — web workers for background tasks
- SSR — server-side rendering support
- Properties — typed props with derive macro
- Events — click, input, submit, custom
- Trunk — build tool for WASM projects
Comparison
| Framework | Reactivity | SSR | Maturity |
|---|---|---|---|
| Yew | VDOM | Yes | Most mature |
| Leptos | Signals | Yes | Growing fast |
| Dioxus | Signals | Yes | Multi-platform |
| Sycamore | Signals | Yes | Smaller |
常见问题 FAQ
Q: WASM bundle 大吗? A: gzip 后约 200-400KB,取决于依赖。比 React bundle 大但运行速度更快。wasm-opt 优化可以再减 20-30%。
Q: 和 JS 互操作? A: 通过 wasm-bindgen 和 web-sys 调用任何 Web API。也可以用 gloo 库简化 DOM/fetch/timer 操作。
来源与致谢 Sources
- Docs: https://yew.rs/docs
- GitHub: https://github.com/yewstack/yew
- License: Apache 2.0 + MIT