学习计划

This commit is contained in:
Yuhang Wu 2026-06-11 10:32:03 +08:00
commit cf27076fec
1 changed files with 636 additions and 0 deletions

View File

@ -0,0 +1,636 @@
# 🦀 Rust + Tauri 学习打卡表
> **学习者**Java全栈工程师
> **开始日期**_________
> **预计周期**12周
> **每周目标投入**8-12小时
---
## 📊 总进度看板
| 阶段 | 周数 | 主题 | 进度 |
|:---|:---|:---|:---:|
| 第一阶段 | 第1-4周 | Rust 基础 | ⬜⬜⬜⬜ |
| 第二阶段 | 第5-7周 | Rust 进阶 | ⬜⬜⬜ |
| 第三阶段 | 第8-10周 | Tauri 框架 | ⬜⬜⬜ |
| 第四阶段 | 第11-12周 | 综合实战 | ⬜⬜ |
**总体完成度**____ / 12 周
---
## 📘 第一阶段Rust 语言基础
---
### 🔷 第1周语法入门
**核心目标**理解Rust基本语法建立从Java到Rust的思维映射
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 搭建开发环境安装Rust、VS Code、rust-analyzer | 1h | ⬜ | ___/___ |
| 2 | 阅读《Rust程序设计语言》第1-3章变量、类型、函数 | 2h | ⬜ | ___/___ |
| 3 | 学习所有权系统初探第4章前半部分 | 2h | ⬜ | ___/___ |
| 4 | 完成 Rustlings 练习 `variables` + `functions` + `if` | 1.5h | ⬜ | ___/___ |
| 5 | 编写命令行计算器(加减乘除) | 2h | ⬜ | ___/___ |
| 6 | 周复习 + 整理笔记Java vs Rust 语法对比表) | 2h | ⬜ | ___/___ |
| 7 | 查漏补缺 / 休息日 | - | ⬜ | ___/___ |
**本周产出清单**
- ⬜ 开发环境正常运行 (`rustc --version` 能输出)
- ⬜ Rustlings 完成:`variables`, `functions`, `if`, `move_semantics`
- ⬜ 命令行计算器代码提交到Git
**自我评估**
- 理解难度⭐⭐⭐⭐⭐1-55最难
- 学习满意度⭐⭐⭐⭐⭐1-5
- 最大困惑点_________________________
- 笔记链接/路径_________________________
**本周实际用时**____ 小时
---
### 🔷 第2周所有权与借用Rust的灵魂
**核心目标**:彻底理解所有权、借用、引用三大规则
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 精读《Rust程序设计语言》第4章所有权全部 | 2.5h | ⬜ | ___/___ |
| 2 | 理解借用Borrowing与引用References | 2h | ⬜ | ___/___ |
| 3 | 完成 Rustlings `move_semantics` + `primitive_types` | 1.5h | ⬜ | ___/___ |
| 4 | 学习 `Copy` vs `Clone` trait 的区别 | 1h | ⬜ | ___/___ |
| 5 | 编写练习:实现字符串拼接函数(处理所有权转移) | 2h | ⬜ | ___/___ |
| 6 | 阅读一篇所有权相关的博客/视频,加深理解 | 1.5h | ⬜ | ___/___ |
| 7 | 周复习 + 整理所有权思维导图 | 2h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ Rustlings 完成:`move_semantics`, `primitive_types`, `structs`
- ⬜ 完成5个所有权相关的代码练习手写
- ⬜ 所有权思维导图/笔记
**关键检查点**(能向他人解释清楚):
- ⬜ 什么是所有权转移Move
- ⬜ 什么是借用Borrowing可变借用 vs 不可变借用?
- ⬜ 悬垂引用Dangling ReferenceRust如何防止
- ⬜ `String` vs `&str` 的区别?
**自我评估**
- 理解难度:⭐⭐⭐⭐⭐
- 学习满意度:⭐⭐⭐⭐⭐
- 最大困惑点_________________________
- 本周实际用时____ 小时
---
### 🔷 第3周结构体、枚举与模式匹配
**核心目标**掌握Rust的组合数据类型和强大的模式匹配
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习 `struct` 定义与使用第5章 | 1.5h | ⬜ | ___/___ |
| 2 | 学习 `enum``match`第6章 | 2h | ⬜ | ___/___ |
| 3 | 理解 `Option<T>` 与空值处理对比Java的null | 1.5h | ⬜ | ___/___ |
| 4 | 完成 Rustlings `enums` + `strings` + `modules` | 2h | ⬜ | ___/___ |
| 5 | 学习 `if let` / `while let` 语法糖 | 1h | ⬜ | ___/___ |
| 6 | **实战项目**:命令行 Todo List 应用 | 3h | ⬜ | ___/___ |
| 7 | 周复习 + 代码重构优化 | 1.5h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ Rustlings 完成:`enums`, `strings`, `modules`
- ⬜ 命令行 Todo List支持添加任务、列出任务、标记完成、删除
- ⬜ 掌握 `Option``map`, `unwrap_or`, `expect` 等方法
**Todo List 功能需求**
- ⬜ 使用 `Vec<Task>` 存储任务
- ⬜ 每个任务包含id、描述、完成状态
- ⬜ 使用 `enum Command` 处理不同命令
- ⬜ 数据存储在内存中(暂时不持久化)
**自我评估**
- 理解难度:⭐⭐⭐⭐⭐
- 学习满意度:⭐⭐⭐⭐⭐
- 最大困惑点_________________________
- 本周实际用时____ 小时
---
### 🔷 第4周错误处理、模块与集合
**核心目标**掌握Rust的错误处理哲学和标准集合使用
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习 `Result<T, E>` 与错误传播第9章 | 2h | ⬜ | ___/___ |
| 2 | 掌握 `?` 运算符与自定义错误类型 | 1.5h | ⬜ | ___/___ |
| 3 | 学习模块系统(`mod`, `use`, `pub`, `crate` | 1.5h | ⬜ | ___/___ |
| 4 | 学习 Vector、HashMap、String 深入操作 | 2h | ⬜ | ___/___ |
| 5 | 完成 Rustlings 剩余全部练习(`hashmaps`, `options`, `errors` | 2h | ⬜ | ___/___ |
| 6 | **项目重构**:给 Todo List 添加文件持久化 + 错误处理 | 3h | ⬜ | ___/___ |
| 7 | 周复习 + 阅读一个开源Rust项目源码如 ripgrep | 2h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ Rustlings **全部完成** 🎉
- ⬜ Todo List 支持文件读写JSON/CSV格式
- ⬜ 所有函数返回 `Result`,无 `unwrap` 滥用
**代码质量检查**
- ⬜ 项目中无任何 `unwrap()``expect()`(除测试外)
- ⬜ 使用 `?` 运算符进行错误传播
- ⬜ 合理的模块拆分main.rs / lib.rs / task.rs / storage.rs
**第一阶段总结**
- 总用时____ 小时
- Rustlings 完成率____ / 84 题
- 自我感觉:⬜ 很吃力 ⬜ 有点难但还行 ⬜ 比较顺利
- 需要返工复习的内容_________________________
### 📚 第一阶段参考资料
#### 官方文档(必读)
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **The Rust Programming Language官方书** | https://doc.rust-lang.org/book/ | 最权威的学习资料第1-9章覆盖第一阶段 |
| **Rust By Example** | https://doc.rust-lang.org/rust-by-example/ | 通过示例学习,适合快速查阅语法 |
| **The Rust Reference** | https://doc.rust-lang.org/reference/ | 语法参考手册,遇到疑问时查阅 |
| **Rustlings** | https://github.com/rust-lang/rustlings | 官方命令行练习题84题循序渐进 |
#### 中文资源
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Rust语言圣经Rust Course** | https://course.rs/ | 中文社区翻译的综合教程,非常详细 |
| **Rust程序设计语言中文翻译** | https://kaisery.github.io/trpl-zh-cn/ | 官方书的中文版 |
| **Rust中文社区** | https://rustcc.cn/ | 中文论坛,遇到问题可搜索或提问 |
| **Rust语言实战极客时间** | https://time.geekbang.org/ | 付费课程,体系化讲解 |
#### 视频教程B站/YouTube
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Rust编程语言入门B站** | https://www.bilibili.com/video/BV1hp4y1k7SV | 黑马程序员,适合零基础 |
| **Rust编程语言教程B站** | https://www.bilibili.com/video/BV1Ay4y1v7u8 | 尚硅谷出品,讲得很细 |
| **Let's Get RustyYouTube** | https://www.youtube.com/c/LetsGetRusty | 英文,讲解清晰,覆盖全面 |
| **Jon GjengsetYouTube** | https://www.youtube.com/c/JonGjengset | 英文,深入源码级别,适合进阶 |
| **Rust语言教程B站张汉东** | https://www.bilibili.com/video/BV1T54y1G73Z | 中文深入讲解,适合有编程基础者 |
#### 在线工具与练习
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Rust Playground** | https://play.rust-lang.org/ | 在线编写和运行Rust代码 |
| **Exercism Rust Track** | https://exercism.org/tracks/rust | 免费的编程练习平台,有导师评审 |
| **Rust Quiz** | https://dtolnay.github.io/rust-quiz/ | Rust趣味测验检验理解深度 |
| **Rust Cheat Sheet** | https://cheats.rs/ | Rust语法速查表非常全面 |
#### 所有权专题(重点攻克)
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Visualizing Memory in Rust** | https://www.youtube.com/watch?v=rDoqT-a6UFg | 图解Rust内存模型英文视频 |
| **Rust Ownership Explained** | https://www.youtube.com/watch?v=Vg1LGHuAPPk | Let's Get Rusty 所有权详解 |
| **Understanding Ownership中文** | https://course.rs/basic/ownership.html | Rust语言圣经中的所有权章节 |
---
## 📗 第二阶段Rust 进阶
---
### 🔶 第5周泛型与Trait
**核心目标**理解Rust的多态机制对比Java的泛型和接口
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习泛型Generics语法第10章 | 1.5h | ⬜ | ___/___ |
| 2 | 学习 Trait 定义与实现第10章 | 2h | ⬜ | ___/___ |
| 3 | 理解 Trait Bounds 与泛型约束 | 1.5h | ⬜ | ___/___ |
| 4 | 学习常用标准库 Trait`Display`, `Debug`, `Clone`, `PartialEq` | 2h | ⬜ | ___/___ |
| 5 | 实现自定义 Trait为不同类型实现同一行为 | 2h | ⬜ | ___/___ |
| 6 | 学习闭包Closures与迭代器Iterators | 2h | ⬜ | ___/___ |
| 7 | **实战**:用泛型和 Trait 实现通用排序 + 迭代器处理文件 | 2h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ 实现一个通用排序函数 `fn sort<T: Ord>(list: &mut [T])`
- ⬜ 为自定义结构体实现 `Display``Debug`
- ⬜ 使用迭代器处理大文件(逐行读取,统计行数/单词数)
**自我评估**
- Trait 理解程度:⭐⭐⭐⭐⭐
- 与Java Interface 的对比感悟_________________________
- 本周实际用时____ 小时
---
### 🔶 第6周智能指针与并发基础
**核心目标**理解堆内存管理与Rust的"无畏并发"
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习 `Box<T>` 与堆分配第15章 | 1.5h | ⬜ | ___/___ |
| 2 | 学习 `Rc<T>`(引用计数)与 `RefCell<T>`(内部可变性) | 2h | ⬜ | ___/___ |
| 3 | 学习 `Arc<T>`(原子引用计数)与 `Mutex<T>`(互斥锁) | 2h | ⬜ | ___/___ |
| 4 | 学习线程基础(`thread::spawn`)与 `move` 闭包 | 1.5h | ⬜ | ___/___ |
| 5 | 理解 `Send``Sync` trait | 1.5h | ⬜ | ___/___ |
| 6 | **实战**多线程文件下载器下载多个URL | 3h | ⬜ | ___/___ |
| 7 | 周复习 + 整理并发安全概念 | 1.5h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ 实现多线程下载器支持同时下载3-5个文件
- ⬜ 使用 `Arc<Mutex<T>>` 共享下载进度
- ⬜ 理解为什么Rust能在编译期防止数据竞争
**关键理解检查**
- ⬜ `Rc` vs `Arc` 的使用场景?
- ⬜ `Mutex` 在Rust中与Java的 `synchronized` 有何异同?
- ⬜ 什么是 `Send`?什么是 `Sync`
**自我评估**
- 理解难度:⭐⭐⭐⭐⭐
- 并发部分比Java更/更难理解_________________________
- 本周实际用时____ 小时
---
### 🔶 第7周异步编程与Tokio
**核心目标**掌握Rust的async/await与异步生态
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习 `async/await` 语法与 `Future` trait | 2h | ⬜ | ___/___ |
| 2 | 了解 `tokio` 运行时与异步IO | 2h | ⬜ | ___/___ |
| 3 | 学习异步HTTP请求`reqwest` 库) | 1.5h | ⬜ | ___/___ |
| 4 | 完成 [Tokio Tutorial](https://tokio.rs/tokio/tutorial) 前半部分 | 2h | ⬜ | ___/___ |
| 5 | 学习 Cargo 工作区Workspaces | 1h | ⬜ | ___/___ |
| 6 | **实战**异步HTTP客户端并发请求多个API | 2.5h | ⬜ | ___/___ |
| 7 | 探索 crates.io了解Rust生态常用库 | 1.5h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ 使用 `tokio` 编写异步程序
- ⬜ 异步HTTP客户端支持超时、重试、并发限制
- ⬜ 整理常用Crates清单serde、reqwest、tokio、anyhow等
**第二阶段总结**
- 总用时____ 小时
- 对Rust的信心度⭐⭐⭐⭐⭐
- 最感兴趣的方向:⬜ 系统编程 ⬜ Web后端 ⬜ 桌面应用 ⬜ 其他____
### 📚 第二阶段参考资料
#### 官方文档(必读)
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **The Rust Programming Language第10-20章** | https://doc.rust-lang.org/book/ | 泛型、Trait、智能指针、并发、不安全Rust |
| **Rust标准库文档** | https://doc.rust-lang.org/std/ | 查阅标准库API熟悉常用模块 |
| **Tokio官方教程** | https://tokio.rs/tokio/tutorial | 异步编程的权威指南,必读 |
| **Rust Cookbook** | https://rust-lang-nursery.github.io/rust-cookbook/ | 常见任务的代码示例集合 |
#### 进阶书籍(选读)
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Programming RustO'Reilly** | https://www.oreilly.com/library/view/programming-rust-2nd/9781492052586/ | 深入讲解适合Java/C++背景 |
| **Rust for Rustaceans** | https://rust-for-rustaceans.com/ | 高级主题,系统设计层面 |
| **Rust Atomics and Locks** | https://marabos.nl/atomics/ | 并发编程深入讲解,免费在线阅读 |
#### 视频教程
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Crust of RustJon Gjengset** | https://www.youtube.com/playlist?list=PLqbS7AVVErFiWDOAVrPt7WAmSMAHFYqKB | 深入讲解高级概念如生命周期、Pin等 |
| **Rust并发编程B站** | https://www.bilibili.com/video/BV1yT4y1u7qp | 中文讲解并发模型 |
| **Tokio Tutorial 视频版** | https://www.youtube.com/watch?v=4QDUkjTUAWs | 异步运行时原理解析 |
| **Rust Lifetimes Explained** | https://www.youtube.com/watch?v=1QoT9fmQds4 | 生命周期可视化讲解 |
#### 异步与并发专题
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Async RustAsynchronous Programming in Rust** | https://rust-lang.github.io/async-book/ | 官方异步编程书籍 |
| **Fearless ConcurrencyRust官方** | https://doc.rust-lang.org/book/ch16-00-concurrency.html | 并发章节官方文档 |
| **Tokio文档** | https://docs.rs/tokio/latest/tokio/ | Tokio API文档 |
| **Rayon数据并行** | https://github.com/rayon-rs/rayon | 并行迭代器库,简单易用 |
#### 常用Crates速查
| Crate | 用途 | 文档链接 |
|:---|:---|:---|
| **serde** | JSON/序列化 | https://serde.rs/ |
| **reqwest** | HTTP客户端 | https://docs.rs/reqwest |
| **tokio** | 异步运行时 | https://tokio.rs/ |
| **anyhow/thiserror** | 错误处理 | https://docs.rs/anyhow |
| **clap** | 命令行参数解析 | https://docs.rs/clap |
| **chrono** | 日期时间处理 | https://docs.rs/chrono |
| **log/env_logger** | 日志记录 | https://docs.rs/log |
---
## 📙 第三阶段Tauri 框架
---
### 🟢 第8周Tauri 基础与项目搭建
**核心目标**理解Tauri架构成功运行第一个桌面应用
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 阅读 Tauri 官方文档 "Getting Started" | 1.5h | ⬜ | ___/___ |
| 2 | 理解 Tauri 架构Rust后端 + Web前端进程隔离 | 1h | ⬜ | ___/___ |
| 3 | 环境准备Node.js + Tauri CLI + 前端框架Vue/React | 1.5h | ⬜ | ___/___ |
| 4 | 创建第一个 Tauri 应用并运行 | 1h | ⬜ | ___/___ |
| 5 | 学习 `tauri.conf.json` 配置 | 1.5h | ⬜ | ___/___ |
| 6 | 学习 IPCCommands前端调用Rust函数 | 2h | ⬜ | ___/___ |
| 7 | 学习 IPCEventsRust向前端发送事件 | 2h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ 成功运行 "Hello Tauri" 应用
- ⬜ 实现一个 Command前端按钮调用Rust函数计算斐波那契数列
- ⬜ 实现一个 EventRust定时向前端推送系统时间
**关键检查点**
- ⬜ 能解释 Tauri 与 Electron 的核心区别?
- ⬜ 理解 `invoke``emit`/`listen` 的适用场景?
**自我评估**
- Tauri 上手难度:⭐⭐⭐⭐⭐
- 本周实际用时____ 小时
---
### 🟢 第9周Tauri 核心功能实战
**核心目标**:开发一个功能完整的 Markdown 编辑器
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习 Tauri State ManagementManaged State | 1.5h | ⬜ | ___/___ |
| 2 | 学习文件系统API读取、写入、监听文件变化 | 2h | ⬜ | ___/___ |
| 3 | 设计 Markdown 编辑器UI编辑区 + 预览区分栏) | 2h | ⬜ | ___/___ |
| 4 | 实现文件打开/保存功能Rust后端 + 前端调用) | 2.5h | ⬜ | ___/___ |
| 5 | 集成 Markdown 渲染(前端使用 marked 等库) | 1.5h | ⬜ | ___/___ |
| 6 | 实现最近打开文件列表 | 2h | ⬜ | ___/___ |
| 7 | 周复习 + 代码重构 | 1.5h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ Markdown 编辑器 v0.1(支持打开/编辑/预览/保存)
- ⬜ 最近打开文件列表(持久化到本地配置文件)
**功能验收清单**
- ⬜ 通过系统对话框选择 `.md` 文件
- ⬜ 实时预览 Markdown 渲染效果
- ⬜ 保存时覆盖原文件
- ⬜ 重启后保留最近文件列表
**自我评估**
- 前端与Rust协作顺畅度⭐⭐⭐⭐⭐
- 本周实际用时____ 小时
---
### 🟢 第10周Tauri 高级特性与打包
**核心目标**:完善应用并掌握打包发布流程
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 学习 Tauri 菜单Menu与系统托盘System Tray | 2h | ⬜ | ___/___ |
| 2 | 实现自动保存功能(定时器 + 文件写入) | 2h | ⬜ | ___/___ |
| 3 | 学习 Tauri 打包配置Windows .msi / .exe | 1.5h | ⬜ | ___/___ |
| 4 | 成功打包 Markdown 编辑器为安装程序 | 1.5h | ⬜ | ___/___ |
| 5 | 学习 Tauri 自动更新Updater机制 | 1.5h | ⬜ | ___/___ |
| 6 | 学习安全最佳实践CSP、权限最小化 | 1.5h | ⬜ | ___/___ |
| 7 | 项目优化 + README 编写 + 开源发布准备 | 2h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ Markdown 编辑器 v1.0 完整版
- ⬜ Windows 安装包(.msi
- ⬜ 项目README含截图、安装说明
**功能验收清单**
- ⬜ 系统托盘图标 + 右键菜单
- ⬜ 自动保存每30秒或编辑后5秒
- ⬜ 可安装的 Windows 安装包
- ⬜ 应用图标自定义
**第三阶段总结**
- 总用时____ 小时
- 对Tauri的满意度⭐⭐⭐⭐⭐
- 是否打算用Tauri做实际项目⬜ 是 ⬜ 否 ⬜ 不确定
### 📚 第三阶段参考资料
#### Tauri 官方资源(必读)
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Tauri 官方文档** | https://tauri.app/v1/guides/ | 最权威的Tauri指南 |
| **Tauri API 文档** | https://tauri.app/v1/api/ | Commands、Events、Window等API |
| **Tauri 配置参考** | https://tauri.app/v1/references/configuration-files/ | tauri.conf.json完整配置说明 |
| **Tauri 示例仓库** | https://github.com/tauri-apps/tauri/tree/dev/examples | 官方示例代码 |
| **Awesome Tauri** | https://github.com/tauri-apps/awesome-tauri | Tauri生态资源汇总 |
#### Tauri 插件与生态
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Tauri Plugin官方列表** | https://tauri.app/v1/guides/features/plugin/ | 官方维护的插件 |
| **tauri-plugin-store** | https://github.com/tauri-apps/tauri-plugin-store | 本地键值存储 |
| **tauri-plugin-sql** | https://github.com/tauri-apps/tauri-plugin-sql | SQLite数据库支持 |
| **tauri-plugin-log** | https://github.com/tauri-apps/tauri-plugin-log | 日志记录插件 |
| **tauri-plugin-fs-extra** | https://github.com/tauri-apps/tauri-plugin-fs-extra | 扩展文件系统API |
#### 视频教程
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Tauri入门教程B站** | https://www.bilibili.com/video/BV1hM41127Gx | 中文Tauri基础教程 |
| **Build a Desktop App with Tauri** | https://www.youtube.com/watch?v=BY_ZjPGqJJk | YouTube英文实战教程 |
| **Tauri vs Electron** | https://www.youtube.com/watch?v=bTl7z0d9hTE | 技术选型对比 |
| **Tauri 1.0 Release Walkthrough** | https://www.youtube.com/watch?v=1Z_1URhw0W0 | 官方发布介绍 |
#### Tauri 实战项目参考
| 项目 | 链接 | 说明 |
|:---|:---|:---|
| **CakeBakerMarkdown编辑器** | https://github.com/cakebaker/markdown-editor | 简单的Tauri Markdown编辑器 |
| **Tauri Notes** | https://github.com/probablykasper/tauri-test | 笔记应用示例 |
| **Tauri Todo** | 搜索 GitHub `tauri todo` | 多个Todo应用实现参考 |
#### 打包与发布
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Tauri 打包指南** | https://tauri.app/v1/guides/building/ | Windows/Mac/Linux打包 |
| **代码签名** | https://tauri.app/v1/guides/distribution/sign-windows/ | Windows证书签名 |
| **自动更新** | https://tauri.app/v1/guides/distribution/updater/ | 应用自动更新配置 |
| **NSIS安装程序** | https://tauri.app/v1/guides/building/windows/ | Windows安装包定制 |
#### 前端框架搭配建议
| 框架 | Tauri模板命令 | 说明 |
|:---|:---|:---|
| **Vue 3** | `npm create tauri-app@latest` 选择Vue | 推荐,生态丰富 |
| **React** | 同上选择React | 熟悉React的首选 |
| **Svelte** | 同上选择Svelte | 轻量高效 |
| **Vanilla JS** | 同上选择Vanilla | 无需学习额外框架 |
| **SolidJS** | 同上选择Solid | 性能优秀 |
---
## 📕 第四阶段:综合实战项目
---
### 🟣 第11周项目设计与核心功能开发
**选择你的实战项目**
- ⬜ **项目A**API测试工具类似Postman简化版
- ⬜ **项目B**:番茄钟 + 任务管理器
- ⬜ **项目C**:自定义项目 _________________________
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 项目需求分析 + 技术选型 + UI原型设计 | 2h | ⬜ | ___/___ |
| 2 | 搭建项目骨架Tauri + 前端框架 + Rust结构 | 1.5h | ⬜ | ___/___ |
| 3 | 实现核心数据模型与Rust后端逻辑 | 3h | ⬜ | ___/___ |
| 4 | 实现前端主要界面组件 | 3h | ⬜ | ___/___ |
| 5 | 前后端联调IPC通信调试 | 2h | ⬜ | ___/___ |
| 6 | 功能迭代与bug修复 | 2h | ⬜ | ___/___ |
| 7 | 周总结 + 下周计划调整 | 1h | ⬜ | ___/___ |
**本周产出清单**
- ⬜ 项目仓库初始化 + 提交记录
- ⬜ 核心功能可用至少完成60%
**自我评估**
- 本周实际用时____ 小时
- 遇到的阻塞问题_________________________
---
### 🟣 第12周项目收尾与总结
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|:---:|:---|:---:|:---:|:---|
| 1 | 完成剩余功能开发 | 2h | ⬜ | ___/___ |
| 2 | 代码重构与优化错误处理、性能、UI | 2h | ⬜ | ___/___ |
| 3 | 打包测试(多平台如有条件) | 1.5h | ⬜ | ___/___ |
| 4 | 编写项目README + 使用说明 | 1.5h | ⬜ | ___/___ |
| 5 | 整理学习笔记 + 建立个人Rust知识库 | 2h | ⬜ | ___/___ |
| 6 | 规划后续学习方向 | 1h | ⬜ | ___/___ |
| 7 | 🎉 庆祝完成!写一份学习总结 | 1h | ⬜ | ___/___ |
**最终产出清单**
- ⬜ 一个可运行的 Tauri 桌面应用
- ⬜ GitHub/GitLab 仓库(代码+文档)
- ⬜ 个人Rust学习笔记/博客
### 📚 第四阶段参考资料
#### 项目设计参考
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Tauri GitHub Topic** | https://github.com/topics/tauri | 发现优秀的Tauri开源项目 |
| **Rust项目架构指南** | https://rust-unofficial.github.io/patterns/ | Rust设计模式 |
| **API Testing Tools开源** | https://github.com/topics/api-client | API测试工具参考 |
| **Pomodoro Apps开源** | https://github.com/topics/pomodoro | 番茄钟应用参考 |
#### UI/UX 设计资源
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Figma社区** | https://www.figma.com/community | 免费UI设计模板 |
| **Heroicons** | https://heroicons.com/ | 免费SVG图标 |
| **Feather Icons** | https://feathericons.com/ | 简洁风格图标 |
| **Tailwind CSS** | https://tailwindcss.com/ | 快速构建美观UI |
| **shadcn/ui** | https://ui.shadcn.com/ | 精美的React组件库 |
| **Element PlusVue** | https://element-plus.org/ | Vue3组件库 |
| **Vuetify** | https://vuetifyjs.com/ | Vue Material Design组件 |
#### Rust项目最佳实践
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **Rust API Guidelines** | https://rust-lang.github.io/api-guidelines/ | 编写优质Rust API的规范 |
| **Rust Project Layout** | https://doc.rust-lang.org/cargo/guide/project-layout.html | 项目目录结构规范 |
| **Rust Testing Guide** | https://doc.rust-lang.org/rust-by-example/testing.html | 测试编写指南 |
| **Clippy代码检查** | https://doc.rust-lang.org/clippy/ | Rust代码Lint工具 |
| **Rustfmt代码格式化** | https://github.com/rust-lang/rustfmt | 统一代码风格 |
#### 发布与推广
| 资源 | 链接 | 说明 |
|:---|:---|:---|
| **GitHub Actions for Tauri** | https://tauri.app/v1/guides/building/cross-platform/ | CI/CD自动打包 |
| **Release Please** | https://github.com/googleapis/release-please | 自动版本管理和发布 |
| **Product Hunt发布指南** | https://www.producthunt.com/ | 推广你的应用 |
| **V2EX/即刻/掘金** | 国内技术社区 | 分享学习心得和项目 |
#### 后续深入学习路线
| 方向 | 推荐资源 | 说明 |
|:---|:---|:---|
| **Web后端** | Actix-web (https://actix.rs/) / Axum (https://github.com/tokio-rs/axum) | Rust Web框架 |
| **数据库** | SQLx (https://github.com/launchbadge/sqlx) / Diesel (https://diesel.rs/) | 异步SQL工具包 |
| **GraphQL** | async-graphql (https://async-graphql.github.io/) | Rust GraphQL实现 |
| **WASM** | wasm-bindgen (https://github.com/rustwasm/wasm-bindgame) | Rust编译到WebAssembly |
| **游戏开发** | Bevy (https://bevyengine.org/) / Macroquad | Rust游戏引擎 |
| **嵌入式** | Embassy (https://embassy.dev/) / probe-rs | 嵌入式异步框架 |
| **CLI工具** | clap (https://docs.rs/clap) / dialoguer / indicatif | 命令行工具开发 |
| **网络协议** | tonic (gRPC) / libp2p (P2P网络) | 底层网络开发 |
---
## 📝 学习总结与展望
### 12周总回顾
| 维度 | 评分1-5 | 备注 |
|:---|:---:|:---|
| Rust 语言掌握度 | ⭐⭐⭐⭐⭐ | |
| Tauri 框架掌握度 | ⭐⭐⭐⭐⭐ | |
| 异步编程理解 | ⭐⭐⭐⭐⭐ | |
| 并发编程理解 | ⭐⭐⭐⭐⭐ | |
| 项目实战能力 | ⭐⭐⭐⭐⭐ | |
### 学习成果统计
- **总投入时间**____ 小时
- **完成项目数**____ 个
- **Rustlings 完成数**____ / 84
- **写出代码行数(估算)**____ 行
### 后续学习方向(可选)
- ⬜ **Actix-web / Axum**Rust Web后端开发
- ⬜ **Diesel / SQLx**Rust ORM与数据库
- ⬜ **WASM**Rust编译到WebAssembly
- ⬜ **嵌入式Rust**no_std 开发
- ⬜ **开源贡献**为Rust项目提交PR
- ⬜ **工作应用**将Rust/Tauri引入实际工作
### 最有价值的3个学习资源
1. _________________________
2. _________________________
3. _________________________
### 给后来者的建议
_________________________________________________________________
_________________________________________________________________
---
## 📚 附录:常用命令速查
```bash
# Rust 基础
rustc --version # 查看版本
cargo new project_name # 创建新项目
cargo build # 编译
cargo run # 编译并运行
cargo test # 运行测试
cargo check # 快速检查(不生成二进制)
cargo add crate_name # 添加依赖
# Tauri
cargo create-tauri-app # 创建Tauri项目
cargo tauri dev # 开发模式运行
cargo tauri build # 打包发布
# Rustlings
rustlings watch # 自动检查练习
rustlings run exercises/xxx # 运行单个练习
```
---
> 💪 **坚持就是胜利Rust的学习曲线虽然陡峭但登顶后的风景绝对值得**