Dvorak
Dvorak

Dvorak Chen

All Posts in 2024.3


Leptos - CSR & SSR

这篇文章探讨了 Leptos 框架在处理服务器端渲染(SSR)和客户端渲染(CSR)方面的实现细节。Leptos 通过“脱水”、“浸泡”和“湿润”三个阶段实现了高效的 SSR 流程:“脱水”阶段生成适合搜索引擎抓取的静态 HTML,“浸泡”阶段将 JavaScript 脚本插入到静态 HTML 中,“湿润”阶段则通过执行 JavaScript 将页面转换为功能齐全的现代应用。文章还详细介绍了 Leptos 的代码组织方式,包括使用 `main.rs` 和 `lib.rs` 文件分别处理服务器端和客户端代码,并通过 Rust 的特性(features)机制实现了环境分离。此外,Leptos 提供了 Server Functions 功能,允许在组件中调用服务器端代码,但需要注意引用规则和依赖管理。文章最后指出 Leptos 在 SSR 方面的创新性,但也提到其复杂性和潜在问题,并对比了 React 的易用性优势。--DeepSeek

Rust Leptos Server Side Rendering Actix web Hydration Server Functions

Rust 和经典语言在习惯上的差异

本文介绍了作者在学习Rust编程语言过程中遇到的一些挑战。首先,文章讨论了Rust的所有权模型、借用检查器和并发机制带来的复杂性,以及如何通过单元结构体(struct D;)和实现trait来提供更好的抽象。接着,文章重点描述了Rust中常见的“包装”(wrap)模式,例如使用Box<dyn trait>来进行动态分配,Arc<Mutex<Box<dyn D>>>来处理多线程共享数据,并解释了这些包装的原因和必要性。最后,作者提到可以使用type关键字定义自定义类型名称以简化复杂的嵌套结构。文章总结了Rust编程中一些基础但重要的概念,尽管这些内容在熟练后看起来简单,但对于初学者来说可能需要较长时间适应。--DeepSeek

Rust memory-management Ownership System Smart Pointers Concurrency Thread Safety