学习 Rust 的 19 个最佳资源

Rust 是一种新兴的编程语言,在编程领域备受瞩目。 它吸取了 C/C++ 的教训,同时提供了与之匹敌甚至更快的执行速度。 这也解释了为什么它能连续七年荣登 StackOverflow 开发者调查的前列!

这一切确实吸引了您的注意。 现在,您渴望学习 Rust。 考虑到 Rust 开发人员在就业市场上的前景一片光明,这是一个明智的决定。 为了帮助您实现目标,我将列出一些学习 Rust 的最佳资源,包括课程、书籍和博客。

让我们开始探索吧。

是什么让 Rust 如此特别,以及您为何应该学习它?

Rust 于 2015 年正式亮相。它逐渐引起了企业和开发者的广泛关注。 其受欢迎程度的核心原因在于:

  • 速度快,
  • 拥有严谨的内存安全设计,
  • 以及对高性能并发的支持。

从比较的角度来看,Rust 类似于 Python 这类高级编程语言,但却能提供 C/C++ 级别的性能,这使得开发者能够构建既快速又安全的应用程序。 简单来说,它的零开销抽象允许开发者在利用高级编程概念的同时,直接操作底层内存。

然而,Rust 最引人注目的特点之一是其所有权和借用模型。 它迫使开发者遵循严谨的思维和执行模式,从而生成几乎无错误的代码。 简而言之,编译器会在代码运行之前确保所有错误都得到修复,从而提供内存和线程安全。

在市场方面,Rust 的表现也相当出色。 让我们来看一些关于 Rust 的有趣数据:

  • Rust 初级开发人员的年薪起步价为 6 万美元。
  • Rust 开发人员的平均年薪约为 12 万美元。
  • 资深开发人员的年薪甚至高达 14 万美元。
  • 由于对 Rust 开发人员的旺盛需求,Rust 的市场近年来呈现显著增长。

总而言之,如果您选择 Rust 作为您的主要编程语言,那么您绝对做出了正确的选择。

您还在犹豫是否要了解 Rust 的重要性吗? 那么,请继续阅读,了解在下一个开发项目中使用 Rust 的充分理由。

最佳起点:Rust 核心文档、官方书籍和 Rustlings 课程

Rust 核心文档

如果您是 Rust 新手,那么 Rust 的官方文档是最好的起点。 您可以在 Rust 的官方网站上找到它。 这份全面的文档几乎涵盖了您在使用 Rust 时可能遇到的所有问题。 不过,它并没有提供学习路径。 因此,您需要结合官方书籍和课程一起学习。

Rust 编程语言书籍

这本被昵称为“The Book”的 Rust 官方书籍,是学习 Rust 编程语言的最佳资源。 它深入浅出地介绍了 Rust 的各个技术层面,包括 Rust 的基础知识、所有权和借用模型,以及关于如何管理项目和包的全面指南,此外还涵盖了一些高级主题,例如错误处理、自动化测试、不安全的 Rust、宏以及函数式编程。 这本书还包含了一些实际项目,例如著名的 Hello World 程序、一个有趣的 I/O 项目,以及一个构建多线程 Web 服务器的最终项目。

此外,不妨参考一下 《Rust by Example》,它列出了大量的 Rust 示例,用以说明不同的 Rust 概念,这使其成为初学者的理想资源。

GitHub 上的 Rust 课程

最后,您还可以考虑 Rustlings 课程。 这个课程设计精良,主要面向初学者。 在这里,您将学习 Rust 语法的基本知识、如何设置工具链等等。

所有这些资源都为您成为一名 Rustacean (Rust 使用者的网络昵称) 铺平了道路。

Rust 初学者编程

《Rust 初学者编程》是一本专为初学者打造的 Rust 书籍。 Ricc Messier 在本书中介绍了 Rust 的基本概念,并辅以现实世界的实际案例。 他详细阐述了 Rust 编程语言的精髓,包括其特有的模型和强大的类型系统。 通过本书,您将学习如何创建既安全又高效的应用程序。 此外,本书还指导您如何使用嵌入式系统。

如果您具备一些 C/C++ 的基础知识,那么《Rust 初学者编程》会是一个理想的选择,即使对于刚开始接触编程的初学者来说也是如此。

使用 Rust 进行 WebAssembly 编程

《Programming WebAssembly With Rust》深入探讨了如何利用 Rust 创建出色的互联网 Web 应用程序。

WebAssembly 是一种在现代浏览器上运行的底层语言。 通过学习如何将 Rust 与 WebAssembly 结合使用,您可以创建在浏览器上运行时能达到原生性能的快速 Web 应用程序。

本书将介绍相关的工具集以及如何使用它们。 此外,您还会学习如何将 Rust 代码集成到 JavaScript 中。 除此之外,您还将深入了解 WebAssembly 的每个基本方面,包括其工作原理、集成方式以及如何利用它来构建快速的 Web 应用程序。

然而,只有在您已经熟悉 Rust 并希望将其与 WebAssembly 一起使用时,才应选择本书。 如果您是绝对的初学者,那么这本书可能并不适合您。

Rust 实战

正如书名所示,《Rust in Action》是一本关于 Rust 编程语言的实践性书籍。 它文笔流畅,非常适合初学者和有经验的 Rust 程序员。

它通过示例来探索 Rust 语言,同时让您掌握计算机的相关知识。 例如,您将在这里学习和使用内存、网络、持久存储以及 CPU 指令。

此外,本书还涵盖了并发和并行编程等主题,为您提供了编写快速多线程代码的工具。 如果您正在寻找实用的系统编程,以及从初级到高级的 Rust 编程知识,那么这本书是一个不错的选择。

这本书非常适合中级学习者。

Rust 编程

Rust 以其强大的系统编程能力而著称。 Jim 和 Jason 合著的《Programming Rust》一书将教您关于 Rust 系统编程的所有知识。 在完成本书之后,您将能够编写可靠且快速的解决方案。

Jim 和 Jason 深知 Rust 可以让程序员编写无错误的代码,他们通过书中的实例展示了这一点,精确地阐述了安全性与性能之间的联系。

本书从 Rust 的基础知识开始,然后逐步讲解如何编写高效、灵活的代码。 接下来,它将介绍多线程代码,并教您如何使用 Rust 的强大工具,例如迭代器、闭包和异步编程。

动手实践 Rust

《Hands-on Rust》是我个人最喜欢的 Rust 书籍之一。 它鼓励读者学习 Rust 的基础知识,特别是那些已经熟悉 C 和 C++ 编程语言的读者。 它通过实际项目来解释概念,范围从简单的“Hello, World”程序到完整的地下城探险游戏。

然而,这本书最大的亮点在于它教授基本的游戏开发技能,这些技能可以与包括 Unity 和 Unreal 在内的流行游戏引擎结合使用。 此外,它还涵盖了包括并发性、内存安全等 Rust 主题。

简而言之,如果您想在游戏开发中使用 Rust,请选择《Hands-on Rust》。 它提供了大量的实践示例,助您准备好制作自己的游戏!

Rust Web 编程

Maxwell Flitton 的《Rust Web 编程》将教您如何使用 Rust 构建 Web 应用程序。 它利用 Rust 编程语言以及其他 Web 技术(如 Terraform、AWS 部署和无服务器 Rust 服务)来构建高性能且安全的 Web 应用程序。

本书还包含了 Rust Web 框架的实践示例,包括 Hyper、Rocket 和 Actix。 实践案例包括使用可伸缩的 Rust 创建基本的待办事项列表 Web 应用程序、管理身份验证、使用无服务器 Rust 服务、在 AWS 上构建等。

本书主要面向那些希望深入学习 Rust Web 编程的 Web 开发人员。

面向 Rustaceans 的 Rust

《Rust for Rustaceans》是提升 Rust 技能的最佳书籍之一。 本书面向那些已经了解 Rust,但希望学习如何构建和维护更大的代码库,成功管理复杂项目,以及编写功能强大的应用程序和库的程序员。

为了帮助您掌握这些技能,本书涵盖了特性、所有权、不安全的代码以及并发性。 您还将学习如何设计可靠、易于使用且符合 Rust 习惯的程序。 此外,它还介绍了 Rust 中的异步、声明式和过程式宏。

Rust 编程语言

由 Rust 核心团队的资深成员 Carol 和 Steve 撰写的《Rust 编程语言》是最受欢迎的 Rust 书籍之一。 截至本文撰写之时,该书的销量已超过 50,000 册。 其主要原因在于它提供了创建可扩展和可靠软件的实用知识。

本书从基础知识开始,您将学习如何使用数据类型、函数和变量。 一旦您熟悉了这些基本概念,作者就会深入探讨高级概念,包括所有权、借用、特性、泛型、智能指针、多线程等等。 它还介绍了 Cargo 以及如何使用它来构建和管理项目。

通过构建实际应用程序来学习 Rust

Udemy 上的 “通过构建实际应用程序学习 Rust” 是最好的 Rust 课程之一。 它涵盖了 Rust 的基础知识、底层内存管理、解决编译器错误的技术以及内存安全。

该课程时长超过 6.5 小时,并提供结业证书。

Rust 基础知识

“Rust 基础知识”是一门适合初学者的 Rust 课程。 它涵盖了 Rust 的语法和其他基本方面。 此外,它还涉及内存安全、可变性、借用以及其他高级 Rust 概念。 这是一个为期 4.5 小时的短期课程。

Rust 编程语言课程

Dmitri Nesteruk 的“Rust 编程语言”课程是 Udemy 上一个评价很高的课程,它教您如何将 Rust 作为一种系统编程语言来使用。

在本课程中,Dmitri 向您展示了如何在 Rust 中解决各种问题,并介绍了它的优点和缺点。 此外,您还将学习如何通过编写应用程序和库来有效地利用 Rust 的内存安全特性。 最后,您还将学习如何测试和记录代码。

该课程时间较长,有 8.5 小时的点播视频。

从头开始学习 Rust(免费课程)

“从头开始学习 Rust” 是 Educative 提供的免费课程。 这是一个为期 9 小时的课程,您可以在其中了解 Rust。 它从基础知识开始,例如变量、数据类型、运算符、条件表达式和循环,然后逐步深入到更复杂的概念,例如枚举、模块、内存管理和向量。

该课程也非常适合没有编程经验的新手!

Rust 编程:完整的开发人员指南

如果您是初学者,但希望更深入地了解 Rust 编程,那么 ZTM 的 “Rust 编程:完整的开发人员指南” 是一个不错的选择。

该课程涵盖计算机编程的基础知识,然后快速介绍 Rust 的编程语言概念,包括特性、切片、内存、泛型和可变性。 您还将了解 Rust 生态系统,并获得一些可以添加到个人作品集中的实操项目。

终极 Rust 速成课程

“终极 Rust 速成课程” 是 Rust 编程语言最畅销的课程,拥有超过 30,000 名学生,评分高达 4.6。 该课程涵盖了 Rust 的基本概念以及相关的工具和生态系统。

此外,课程讲师 Nathan Stocks 还介绍了其他重要的 Rust 相关概念,包括引用、所有权、借用和内存模型等等。

奖励:Exercism Rust Track 提供了 97 个练习,让您深入探索 Rust 的奥秘。 这个课程最棒的地方在于它是 100% 免费的。 因此,如果您是初学者并渴望开始学习 Rust,那么这个课程非常适合您! 这些练习分为简单、中等和困难三种难度,您可以根据自己的情况进行选择。 总而言之,该课程非常适合学习 Rust 语法和概念。

Rust 博客

Rust 博客是了解 Rust 概念、教程和应用案例的好方法。 您可以从官方 Rust 博客开始,那里会定期更新各种有价值的内容。

接下来,您可以关注 ReadRust 聚合器,它汇总了各种有趣的 Rust 博客文章。 除此之外,请务必关注以下博客:

  • This Week in Rust
  • Rust Blog
  • 官方 Rust 博客

最后,建议您收藏 “Rust 选集大师列表”,它提供了大量优秀的 Rust 相关博客文章。

Rust 播客、新闻通讯、社区和论坛

为了获得更多学习 Rust 的资源,您可以关注一些令人兴奋的播客、新闻通讯、社区和论坛。

最后的想法

对于任何开发人员来说,Rust 都是一个不错的选择。 它弥合了 C/C++ 等底层编程语言与 Python 等高级编程语言之间的差距。 毕竟,Rust 是一种内存安全且高性能的编程语言,它使开发人员能够完全掌控程序的行为和功能。

最重要的是,Rust 的设计将开发人员的偏好放在首位,使其成为最受欢迎的编程语言之一。

一旦开始使用 Rust,您很快就会意识到,Rust 在技术上优于其他编程语言,并且几乎没有任何缺点。

但是,您还需要了解,Rust 仍然是一种相对较新的语言,这意味着它会不断更新新功能。 这也意味着它的库和文档可能还不够成熟。 这可能会减慢开发速度,因为您需要处理 Rust 编译器提供的详细错误消息和较长的编译时间(可以通过错误链工具来改进)。

总的来说,Rust 绝对是一个值得尝试的选择! 它支持 WebAssembly,并且随着市场需求的增加而变得越来越受欢迎。 因此,感谢您选择 Rust,祝您学习愉快。

另外,不妨查看一下 “最佳 Rust 服务器托管提供商”,以便了解在哪里托管您的 Rust 应用程序。