28 KiB
28 KiB
🦀 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-5,5最难)
- 学习满意度:⭐⭐⭐⭐⭐(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 Reference)Rust如何防止?
- ⬜
Stringvs&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 Rusty(YouTube) | https://www.youtube.com/c/LetsGetRusty | 英文,讲解清晰,覆盖全面 |
| Jon Gjengset(YouTube) | 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能在编译期防止数据竞争
关键理解检查:
- ⬜
RcvsArc的使用场景? - ⬜
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 前半部分 | 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 Rust(O'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 Rust(Jon 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 Rust(Asynchronous Programming in Rust) | https://rust-lang.github.io/async-book/ | 官方异步编程书籍 |
| Fearless Concurrency(Rust官方) | 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 | 学习 IPC:Commands(前端调用Rust函数) | 2h | ⬜ | / |
| 7 | 学习 IPC:Events(Rust向前端发送事件) | 2h | ⬜ | / |
本周产出清单:
- ⬜ 成功运行 "Hello Tauri" 应用
- ⬜ 实现一个 Command:前端按钮调用Rust函数计算斐波那契数列
- ⬜ 实现一个 Event:Rust定时向前端推送系统时间
关键检查点:
- ⬜ 能解释 Tauri 与 Electron 的核心区别?
- ⬜ 理解
invoke和emit/listen的适用场景?
自我评估:
- Tauri 上手难度:⭐⭐⭐⭐⭐
- 本周实际用时:____ 小时
🟢 第9周:Tauri 核心功能实战
核心目标:开发一个功能完整的 Markdown 编辑器
| 序号 | 每日学习任务 | 预计时长 | 完成 | 日期 |
|---|---|---|---|---|
| 1 | 学习 Tauri State Management(Managed 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 实战项目参考
| 项目 | 链接 | 说明 |
|---|---|---|
| CakeBaker(Markdown编辑器) | 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 Plus(Vue) | 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个学习资源
给后来者的建议
📚 附录:常用命令速查
# 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的学习曲线虽然陡峭,但登顶后的风景绝对值得!