Dvorak
Dvorak

Dvorak Chen

All Posts in 2024.2


Leptos - 撸一只赛博猫猫

本文介绍了使用Leptos和Rust语言,替代Javascript,编写一个可爱的赛博猫猫动画的过程。文章首先介绍了一些有用的crates,如console_log、gloo和js-sys,它们分别提供了打印输出、大量BOM调用的API和时间库功能。然后,作者详细描述了如何使用HTML和Rust编写的逻辑代码,包括事件监听和类似Javascript的Interval时间函数,来创建一个可交互的赛博猫猫动画。此外,文章还详细解释了如何使用Interval时间函数和数组存储的字符画,来实现猫猫摇尾巴的动画效果。最后,作者提到了如何使用on_cleanup函数,在组件清理的时候取消Interval函数,以及如何在组件卸载的时候清理Interval。那么,如何使用Rust和Leptos来创建自己的动画呢?你会尝试使用这些方法和技巧来创建自己的项目吗?--GPT 4

Rust

从实现 Iterator 来窥探 Rust

本文详细介绍了如何在Rust中实现Iterator trait,以支持for in遍历。首先,我们定义了一个简单的struct,然后实现了一个iter()方法,将其转换为另一个实现了Iterator trait的结构。接下来,我们探讨了为何不直接在Nums上实现Iterator,以及Rust特有的生命周期标注的概念。我们还解释了如何在NumsIter结构中使用生命周期标注,以保证在借用Nums的时间内Nums都是存在的。最后,我们实现了Iterator trait,并给出了完整的代码示例。这篇文章提供了一个深入理解Rust中Iterator实现和生命周期标注的好机会。那么,你是否已经理解了如何在Rust中实现Iterator?你是否理解了生命周期标注的作用及其在Rust中的重要性?--GPT 4

Rust

Leptos 初探 - 序言

Leptos是一个用Rust开发的全栈Web框架,其写法类似于React,但实现机制却大相径庭。Leptos采用最小粒度更新的方式,避免了虚拟DOM的处理,性能上优于React。然而,由于Rust语言的学习难度,Leptos的普及可能会受到一定限制。此外,Leptos的更新机制依赖于闭包,而Rust严苛的语法规则可能会给开发者带来一些挑战。例如,Rust的所有权规则需要通过`Rc`进行引用计数来解决。最后,Leptos的代码最终会编译到浏览器的WASM环境中运行,因此不是所有的Rust crate都能够正常运行,需要挑选能够在WASM中使用的crate。这篇文章对Leptos的使用进行了详细的介绍,对于想要了解和使用Leptos的开发者来说,具有一定的参考价值。那么,你是否已经准备好接受Leptos的挑战,使用Rust开发你的Web应用呢?--GPT 4

Rust Leptos