这是一个系列,提供给 JavaScript 开发者的 Rust 翻译教程。原文在:https://itnext.io/deep-dive-into-rust-for-node-js-developers-5faace6dc71f。
随着 WebAssembly 的出现,现在是在现有 JavaScript/Node.js 基础上学习 Rust 的最佳时机,你可以使用他们在浏览器、服务端或是其他场景进行高性能计算。
将 Rust 添加到 Node.js 的技术栈中实属天作之合,因为 Rust 为 WebAssembly 提供了高级和完善的支持,而且 WebAssembly 二进制文件可以在 Node.js 上运行。
通过一些基础内容以及深入的学习,您将足够熟悉 Rust 并可以构建一些更为复杂的工程。
请注意:
作为一个 JavaScript 开发者,你会看到类似 std::wx::yz
或是 &xyz
这样不熟悉的符号,不用担心后面都会解释。
与 JavaScript 相比,Rust 是一种偏底层语言,你会处理一些你从未在 JavaScript 中处理过或是关注过的一些事情。
请记住 Rust 是一种非常贴近硬件的系统编程语言,这意味着语言中提供的抽象概念更贴近硬件。这为高性能编程提供了强大的能力,也意味着比 JavaScript 更加复杂。
Rust 不会隐藏一些底层的问题,比如值是在堆还是栈上存储,并基于此允许或不允许。但是和 Node.js 一样,有许多包或者库可以让你干起活来更简单。
许多其他的教程都有一个问题在于,他们都是由精通 C 、C++ 或者 Linux 的人编写的,他们假设你已经知道计算机内部是如何工作的了,比如内存分配等。而对于许多 Web 开发者来说并不是这样。
这篇教程会始终保持简单,并站在 JavaScript 开发者的角度描述问题。
Rust 的学习曲线非常陡峭而且会耗费你很多时间,但这完全值得。总的来说,学习 Rust 可以让你成为更好的 JavaScript 开发者 !