这是一个与 WebAssembly Package Manager 和 WebAssembly Interfaces("WAI")整合的工具,可以创建可以从其他语言导入的包。
WebAssembly 软件包管理器的 WAI 附加功能,通过为你选择的语言自动生成可安装的软件包,简化了开发者在其应用程序中使用 WebAssembly 的方式。
详情请看:https://wasmer.io/posts/wasmer-takes-webassembly-libraries-manistream-with-wai
WasmEdge 成功地移植了 tokio(一个 Rust 异步运行时)到 Wasm:https://github.com/WasmEdge/tokio。其秘诀是使用了自家基于 wasi-socket 开发的 non-blocking socket 和 poll 系统调用,替换掉了 tokio 自己的 non-blocking IO 实现。
代码实现:https://github.com/tokio-rs/mio/commit/c365b7c15b26bf1b4ee76b88b830fbb5054fd35b#diff-e56b51343750c5afbcc6759883c7834d510abb433f1f3fb404bedad21f24b5d7
bevy_atmosphere 0.5 发布详情请看:https://www.reddit.com/r/bevy/comments/za93oo/bevy_atmosphere_05_is_now_released/
Leptos 是一个全栈、同构的 Rust Web 框架,利用细粒度的反应性来构建声明式用户界面。
使用示例:
- use leptos::*;
-
- #[component]
- pub fn SimpleCounter(cx: Scope, initial_value: i32) -> Element {
- // create a reactive signal with the initial value
- let (value, set_value) = create_signal(cx, initial_value);
-
- // create event handlers for our buttons
- // note that `value` and `set_value` are `Copy`, so it's super easy to move them into closures
- let clear = move |_| set_value(0);
- let decrement = move |_| set_value.update(|value| *value -= 1);
- let increment = move |_| set_value.update(|value| *value += 1);
-
- // this JSX is compiled to an HTML template string for performance
- view! {
- cx,
-
-
-
- "Value: " {move || value().to_string()} "!"
-
-
- }
- }
-
- // Easy to use with Trunk (trunkrs.dev) or with a simple wasm-bindgen setup
- pub fn main() {
- mount_to_body(|cx| view! { cx,
3 /> }) - }
项目地址:https://github.com/gbj/leptos
From 日报小组 @Jancd
社区学习交流平台订阅:
Rust.cc论坛: 支持rss
微信公众号:Rust语言学习交流