• Rust该如何快速入门?
  • 发布于 2个月前
  • 98 热度
    0 评论
在过去五年中,Rust 凭借其令人难以置信的开发体验和灵活性,成为最受欢迎和最受喜爱的 15 种编程语言之一。它速度快、设计精良、拥有强大的功能、完善的文档以及一个活跃的开发者社区。它获得了许多程序员的支持,尤其是那些使用 C 或 C++ 等类似但较老技术的程序员。

2024年,Rust 值得前端开发人员学习吗?为什么?本文将从前端工具链、前端应用程序、开发人员体验等角度来剖析。最后介绍如何快速的学习 Rust,并推荐一些学习资源。

1.前端工具链
如果你是一位持续学习的前端开发者,一定了解 Rust 进入前端领域有一定时间了。越来越来的前端工具使用的是非 JavaScript 语言来编写。传统的前端捆绑工具 Webpack、Rollup 已经有了新的竞争对手,如 Esbuild(基于Go)、SWC(基于Rust),Rspack(基于Rust)、Vite(未来也要基于Rust重构)。传统的代码检测和约束工具 ESLint 也有了新的竞争对手,如 Deno Lint、 Oxlint、Biome 和 quick-lint-js。当然还不止于提到的这些。

Rust 正在被越来越多的前端开发人员使用,构建更新、更快的工具链。随着基于 Rust 的 Web 框架的涌现,它可能会被运用到更多的场景中去。因此,作为前端开发者,了解 Rust 为未来将会非常有用。

2.前端应用程序
根据 “2023年 WebAssembly 现状报告”,WebAssembly 仍然是网络应用程序开发中最常用的语言,但微服务的使用率在持续上升,WebAssembly 作为插件环境的使用率也在上升。如 Photoshop 或 AutoCAD 等流行的应用程序,都可以在浏览器中使用。越来越多的产品在创建时都考虑到了 Web 平台。2023年 WebAssembly 现状报告!

Rust 连续第三年成为 WebAssembly 使用最频繁的语言。Rust 一直以来都非常适合 WebAssembly,它是一种现代系统级语言,广受欢迎(根据 Stack Overflow 的调查,连续七年被评为最受欢迎的语言),同时也是编写 WebAssembly 运行时和平台的流行语言。有相当多的 Rust UI 库旨在超越 JavaScript 库,如 Egui、Yew 或 Leptos。许多库正在开发中。基于 Node 的桌面应用程序平台 Electron 也有一个基于 Rust 的替代库:Tauri。

基于此,我们就可以用 Rust 来写前端了。当然,这并不意味着 JavaScript 将被抛弃。至少在可预见的未来不会。它仍然拥有丰富、繁荣的生态系统、灵活的表达方式、不太陡峭的学习曲线和易用性等优势。此外,在某些情况下,JS 库可能仍然比您的 WASM 二进制程序更快。但随着时间的推移,这种情况肯定会发生变化。

3.开发人员体验
你可能听说过“JavaScript 疲劳症”。正如 Quora 上的描述[1]:
It refers to the exhaustion and frustration experienced by developers when trying to keep up with the rapid pace of change and the sheer number of tools, frameworks, and libraries in the JavaScript ecosystem. This can include the pressure to constantly learn new technologies, the difficulty of choosing the right tools for a project, and the challenge of maintaining existing code in a landscape that is constantly evolving.

大概意思是:
它指的是开发人员在试图跟上 JavaScript 生态系统中快速变化的步伐和大量工具、框架和库时所经历的疲惫和挫败感。这包括不断学习新技术的压力、为项目选择正确工具的困难,以及在不断发展的环境中维护现有代码的挑战。

对应前端开发者来说,这正是 Rust 脱颖而出的原因。我们在处理复杂的前端项目时,这些项目使用了不同的捆绑程序、内联程序和格式化程序,在很多情况下,相互冲突的模块类型、约定等阻碍了快速完成简单的任务。

Rust 的设计比较友好,很多工具和前端的概念类似,比如包管理工具 cargo(对应前端的 npm),rustup(对应前端的 nvm)。它还提供了校对和格式化机制。此外,它还有一个 clippy 命令,可以教你一些有用的东西。

4.如何快速学习 Rust?
Rust 生态系统和前端生态系统的工具有很多相似之处,除了语言本身的学习曲线陡峭外,整体上还是比较容易上手的。下面列举了一些步骤供参考学习。

1)学习基础知识:
在深入学习 Rust 之前,您应该对基本的计算机科学概念,如算法、数据结构和面向对象编程,有扎实的基础。有了这些基础之后,需要对 Rust 语言的基础知识有个全面的了解,推荐阅读 Steve Klabnik 和 Carol Nichols 合著的《Rust 编程语言》一书。仔细研读前六章,内容包括数据类型、函数、控制流、所有权、结构体和模式匹配。也有电子版本2,链接见文末参考资料。

2)学会阅读文档:
标准 Rust 发行版附带了一个名为 rustdoc[3] 的工具。它的工作是为 Rust 项目生成文档。从根本上说,Rustdoc 将 crate root 或 Markdown 文件作为参数,并生成 HTML、CSS 和 JavaScript。此外,像 Chat GPT 这样的人工智能助手也能帮助你消化文档,获取想要的信息。

3)尝试编写简单的程序:
尝试通过实例来巩固对基础知识的了解。现在网络资源非常丰富,可以通过网络课程进行学习和实战。遇到问题时,可以查看《Rust by Example》[4]。或者问问 Chat GPT。人工智能可以成为你学习的好伙伴。

4)尝试开发一个完整项目:
寻找一个感兴趣的项目来进行实战,不要复制粘贴,代码和构思要自己写,在实践中发现问题和不足,不断迭代。这将帮助你记住关键字并熟悉语言,从全局有一个系统的了解和认知。

5)巩固和夯实基础知识:
在这个注意力短暂的时代,我们往往会跳过一些看起来不感兴趣或不需要的内容。这样做很容易出错,因此,最好是反复斟酌,重温曾经读过的部分内容,巩固和夯实基础语法和关键知识点。

6)积极参与开源项目:
当你有足够的信心时,建议你积极参与到开源项目中去。从开源项目中我们可以更直接学习到他人的代码撰写、架构思想、编程技巧等等。同时,Rust 社区是一个充满热情的社区,参与开源项目将会给你带来解决实际问题的经验。

7)不定期总结与回顾:
不定期总结和回顾自己的工作。应用重新获得的知识。重新发现的信息可能会在你意想不到的地方改进你的代码。

8)坚持持续学习:
紧跟最新的开发趋势、技术和最佳实践。积极参与在线社区及相关的会议和阅读博客,与行业保持联系。

总结
在学习一门新的语言时,可能会受到当前已掌握语言的思维干扰,我们需要沉下心来,在掌握好基础知识的同时,通过实战来检验和反馈,不断提升。
用户评论