由于之前我需要使用到 WASM ,分析了一波以后决定 使用 Rust 来进行开发,就有了这篇学习笔记。
第 01 篇:主要了解一下 Rust 工具链三大组件、Rust 能做什么
Rust 工具链三大组件
1. rustc --- Rust 编译器
把 .rs 源代码编译成可执行文件。类似于 gcc(C语言)或 javac(Java)。
2. cargo --- 包管理器 + 构建工具
相当于前端的 npm,Python 的 pip。核心功能:
| 功能 | 命令示例 |
|---|---|
| 创建项目 | cargo new my-project |
| 添加依赖 | 在 Cargo.toml 中写依赖,cargo build 自动下载 |
| 编译运行 | cargo build / cargo run |
| 运行测试 | cargo test |
| 发布库 | cargo publish(发布到 crates.io) |
3. rustup --- Rust 版本管理器
管理 Rust 本身的安装和更新,类似于 Node 的 nvm。核心功能:
| 功能 | 命令示例 |
|---|---|
| 更新 Rust | rustup update |
| 切换版本 | rustup default stable/nightly |
| 安装交叉编译目标 | rustup target add wasm32-unknown-unknown |
| 查看已安装工具链 | rustup show |
简单类比
rustup → 管理 "Node.js 版本"(nvm)
cargo → 管理 "npm 包和项目构建"(npm + webpack)
rustc → 实际编译代码的编译器(tsc / babel)
Rust 能做什么
1. 系统编程
- 操作系统、驱动程序、嵌入式开发
- 代表作:Linux 内核已接受 Rust 代码,Windows 部分组件用 Rust 重写
2. WebAssembly (WASM)
- 把 Rust 编译成 WASM,在浏览器中高速运行
- 你的项目
wasm-crypto/就是这个用途------加密算法跑在前端
3. Web 后端 / CLI 工具
- 高性能 Web 服务:Actix-web、Axum 框架
- 命令行工具:ripgrep(比 grep 快)、bat(更好用的 cat)
- 比 Go 更底层控制,比 C++ 更安全
4. 游戏开发
- Bevy 引擎(ECS 架构,纯 Rust)
- 适合需要高性能的独立游戏
5. 区块链 / 加密
- Solana、Polkadot 等区块链用 Rust 写智能合约
- 性能高 + 内存安全,适合金融场景
6. 跨平台桌面应用
- Tauri(替代 Electron,体积小 10 倍+)
- 用 Rust 做后端 + Web 前端,打包成桌面应用
7. 网络 / 并发
- Tokio 异步运行时,处理高并发连接
- 代理、网关、数据库等基础设施
Rust 的核心优势
| 特点 | 说明 |
|---|---|
| 内存安全 | 编译期检查,没有空指针、数据竞争 |
| 零成本抽象 | 高级语法,编译后和手写 C 一样快 |
| 无 GC | 不需要垃圾回收,性能可预测 |
| 跨平台 | 编译到 Linux/Windows/macOS/WASM/嵌入式 |
简单总结
想写高性能 + 高安全性代码 → 选 Rust
想替代 C/C++ 但不想踩内存坑 → 选 Rust
想让前端跑重型计算(WASM)→ 选 Rust
我项目里的 wasm-crypto 就是用 Rust 写复杂的 计算逻辑 编译成 WASM,比纯 JS 更快,同样的维护成本也比 JS 高。