Rust 入门(一):Rust 是什么?能做什么?

January, 5th 2026 9 min read Markdown
Rust 入门(一):Rust 是什么?能做什么?

Rust 入门系列(第 1 篇,共 5 篇) 阅读时间:12 分钟


引言

这是一个 Rust 入门系列的第一篇文章。作为学习笔记,我会记录 Rust 的核心概念、实际应用和学习过程。

如果你对系统编程、高性能计算或 WebAssembly 感兴趣,Rust 是一个值得投入时间学习的语言。


一、Rust 是什么?

1.1 基本介绍

Rust 是一门系统级编程语言,由 Mozilla Research 开发:

  • 首次发布:2010 年
  • 1.0 稳定版:2015 年
  • 管理组织:Rust Foundation

1.2 核心特性

1. 内存安全

  • 无需垃圾回收器(GC)也能保证内存安全
  • 编译时检查内存问题,避免空指针、悬垂指针等

2. 零成本抽象

  • 高级语法特性不会带来运行时开销
  • 性能媲美 C/C++

3. 强大的类型系统

  • 静态类型,编译时检查
  • 支持泛型、trait、模式匹配

4. 并发安全

  • 编译时检查数据竞争
  • “Fearless Concurrency”(无畏并发)

5. 现代化工具链

  • Cargo:包管理器 + 构建工具
  • rustfmt:代码格式化
  • clippy:代码检查工具

1.3 为什么 Rust 重要?

根据 TechTarget 的分析

  1. 安全性:70% 的软件漏洞是内存安全问题,Rust 从根源解决
  2. 性能:云原生时代对性能和资源效率要求更高
  3. WebAssembly:Rust 是编译到 WASM 最成熟的语言
  4. 生态增长Stack Overflow 调查显示,Rust 连续多年成为最受欢迎的语言

二、Rust 能做什么?

2.1 系统编程

Rust 的传统强项:操作系统、设备驱动、嵌入式系统。

真实案例

  • Redox OS:完全用 Rust 编写的微内核操作系统
  • Microsoft Windows:部分内核和驱动用 Rust 重写
  • Linux Kernel:从 6.1 版本开始支持 Rust 模块
  • Google Android:AOSP 中包含多个 Rust 模块

2.2 WebAssembly

Rust 是编译到 WebAssembly 最成熟的语言,可以在浏览器中运行接近原生速度的代码。

真实案例

  • Figma:在线设计工具的核心渲染引擎用 Rust + WASM
  • Photoshop Web:Adobe 将 Photoshop 移植到 Web,性能关键部分用 Rust
  • Google Earth:Web 版本的 3D 渲染用 Rust + WASM

典型用法

rust
12345
// Rust 代码编译为 WASM
#[wasm_bindgen]
pub fn process_image(data: &[u8]) -> Vec<u8> {
    // 高性能图像处理
}
javascript
1234
// JavaScript 调用
import init, { process_image } from './pkg/image_processor.js';
await init();
const result = process_image(imageData);

2.3 云基础设施

Rust 在云原生领域快速增长

真实案例来源):

  • AWS Firecracker:AWS Lambda 和 Fargate 的微虚拟机技术
  • Cloudflare Pingora:取代 Nginx 的高性能 Web 代理
  • Microsoft Azure IoT Edge:IoT 设备上的容器化平台
  • AWS Bottlerocket:容器优化的 Linux 发行版

2.4 开发工具

很多现代开发工具都是 Rust 写的,因为需要极致性能。

热门项目来源):

  • Ruff:极速 Python linter/formatter(比 Pylint 快 100 倍)
  • uv:极速 Python 包管理器(比 pip 快 10-100 倍)
  • ripgrep:递归搜索工具,比 grep 快得多
  • Tauri:用 Rust + Web 技术构建桌面应用(比 Electron 轻量)
  • SWC:超快的 JavaScript/TypeScript 编译器
  • Turbopack:Vercel 的下一代打包工具

2.5 区块链

Rust 是区块链领域的首选语言

真实案例

  • Solana:高性能区块链平台
  • Polkadot:跨链协议
  • Diem(前 Libra):Meta 的加密货币项目
  • Sui:新一代 Layer 1 区块链

2.6 游戏开发

Rust 在独立游戏领域增长快速

游戏引擎

  • Bevy:数据驱动的游戏引擎
  • Fyrox:3D 游戏引擎

2.7 嵌入式和 IoT

Rust 适合资源受限的嵌入式设备

项目

  • Embassy:异步嵌入式框架
  • RTIC:实时中断驱动并发框架

三、大厂如何使用 Rust?

Microsoft

  • Windows 内核模块
  • Azure IoT Edge
  • 设备驱动框架

Google

  • Android 系统组件
  • Fuchsia OS
  • Chrome 浏览器组件

AWS

  • Firecracker(虚拟化)
  • Bottlerocket(容器 OS)
  • 多个性能关键服务

Cloudflare

  • Pingora(Web 代理)
  • Workers Runtime
  • 网络服务

Meta

  • Diem 区块链
  • 内部工具链

四、Rust vs 其他语言

4.1 Rust vs C/C++

特性C/C++Rust
性能🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀(相当)
内存安全❌ 手动管理✅ 编译时保证
学习曲线🔴 陡峭🔴 陡峭
现代化工具⚠️ 有限✅ 优秀

何时用 Rust:新项目,需要内存安全 何时用 C/C++:维护遗留代码,已有大型代码库

4.2 Rust vs Go

特性GoRust
性能🚀🚀🚀🚀🚀🚀🚀🚀
内存安全✅ GC✅ 编译时
并发✅ Goroutine✅ 安全并发
学习曲线🟢 简单🔴 陡峭

何时用 Rust:极致性能,WebAssembly,系统编程 何时用 Go:微服务,快速开发,团队效率

4.3 Rust vs Python

特性PythonRust
性能🚀 慢🚀🚀🚀🚀🚀 快
开发速度✅ 极快⚠️ 较慢
适用场景脚本、数据分析系统、性能关键

最佳组合:Python + Rust(用 PyO3 绑定)


五、学习路径

5.1 官方资源

5.2 视频课程

5.3 实战项目

5.4 社区


六、常见误解

误解 1:Rust 只能做系统编程

真相:Rust 可以做 Web 后端、CLI 工具、WebAssembly、游戏、数据处理等。

误解 2:Rust 太难学

真相:学习曲线确实陡峭,但编译器错误信息非常友好,能帮你快速理解问题。

误解 3:Rust 开发效率低

真相:初期较慢,但掌握后,编译器能避免大量运行时 bug,长期效率更高。

误解 4:Rust 不适合 Web 开发

真相Actix-webRocketAxum 等框架性能优异,适合高性能 Web 服务。


七、何时选择 Rust?

✅ 适合 Rust 的场景

  1. 性能关键:游戏引擎、视频处理、大数据计算
  2. 内存受限:嵌入式设备、IoT、边缘计算
  3. 系统级编程:操作系统、驱动、虚拟化
  4. WebAssembly:浏览器中的高性能计算
  5. 并发密集:高并发服务器、数据处理管道
  6. 安全关键:金融、医疗、航空航天

⚠️ 不太适合的场景

  1. 快速原型:Python/JavaScript 更合适
  2. 简单脚本:Bash/Python 足够
  3. 团队不熟悉:学习成本高

八、本系列计划

这个系列会涵盖:

第 1 篇(本篇):Rust 是什么?能做什么? 第 2 篇:Rust 基础语法速通 第 3 篇:所有权、借用、生命周期 第 4 篇:实战项目 - 构建 CLI 工具 第 5 篇:Rust + WebAssembly 实战


总结

Rust 是一门现代化的系统编程语言,兼具性能和安全性:

  • 高性能:媲美 C/C++
  • 内存安全:无需 GC 也能保证安全
  • 现代化:优秀的工具链和生态
  • 适用广泛:系统编程、Web、WASM、区块链

如果你对性能优化、系统编程或 WebAssembly 感兴趣,Rust 是一个值得投入时间学习的语言。


参考资料


系列导航