Dvorak
Dvorak

Dvorak Chen

All Posts in 2024.2


Leptos - 撸一只赛博猫猫

这篇文章展示了如何使用 Leptos 框架结合 Rust 语言来创建一个互动的赛博猫动画,完全摒弃了传统的 JavaScript 开发方式。通过借助 crates 提供的 BOM API 和时间函数库,作者实现了从猫猫不同动作状态到用户交互的全部逻辑。文章详细介绍了如何利用数组存储猫猫的不同动作字符画,并通过 Interval 函数实现周期性切换来模拟尾巴摇动的效果。此外,作者还探讨了如何在组件卸载时清理 Interval 定时器以避免资源泄漏的问题。最终,这只用 HTML 渲染界面、Rust 控制逻辑的赛博猫不仅能够在点击时发出“喵喵叫”,还能在鼠标按住时发出咕噜声,展现出令人惊喜的互动效果。项目代码已开源,感兴趣的读者可以前往 GitHub 仓库查看详细实现。通过这篇文章,作者不仅展示了 Rust 在前端开发中的潜力,还提出了一个问题:你是否也想尝试用 Rust 来构建自己的 Web 应用,并创造更多有趣的效果?不妨从这篇博客开始,探索 Leptos 的无限可能!--DeepSeek

Rust Leptos gloo Cyber Cat Interval MouseEvent

从实现 Iterator 来窥探 Rust

这篇文章介绍了如何为一个自定义的`Nums`结构体实现迭代器功能。首先,`Nums`结构体包含一个长度为10的整数数组,并通过`new()`方法初始化。接着,`iter()`方法返回一个`NumsIter`迭代器,该迭代器持有对`Nums`实例的引用。为了确保引用的有效性,`NumsIter`带有生命周期标注`'a`。实现`Iterator` trait时,指定了返回类型为`usize`,并在`next()`方法中实现了遍历逻辑:当索引在有效范围内时返回当前元素,否则返回`None`。这样,用户可以通过标准的`for`循环轻松遍历`Nums`实例的值。--DeepSeek

Rust Iterator Pattern Lifetime Management Ownership and Borrowing Memory Safety Code Structure

Leptos 初探 - 序言

这篇文章介绍了基于Rust的前端框架Leptos的一些特性和开发经验。文章提到Leptos将代码编译为WASM在浏览器中运行,因此需要选择支持WASM环境的Crate(如`reqwest`用于HTTP请求),并使用模拟JavaScript API的Crate(如`gloo`)来实现特定功能。文中还详细讨论了Rust语言的特点及其对Leptos开发的影响,包括严格的语法规则、所有权规则以及如何通过引用计数(`Rc`)解决多个事件处理程序共享资源的问题。文章最后提到未来可能会继续编写更多关于Leptos的教程内容。--DeepSeek

Rust Leptos rust-programming web development Component Framework Ownership Rules