vlambda博客
学习文章列表

Rust & WebAssembly 翻译系列 (2)为什么选择Rust和WebAssembly?

为什么选择Rust和WebAssembly?


使用符合人类习惯的方式进行底层控制

JavaScript Web应用程序很难获得并保持可靠的性能。JavaScript的动态类型系统和垃圾回收暂停没有任何益处。 如果你不小心偏离了JIT所希望的代码编写和运行方式,那么很少代码更改都有可能导致性能急剧下降。



Rust为程序员提供了底层控制和可靠的性能。对比JavaScript, Rust没有垃圾回收暂停的麻烦。程序员可以间接控制单态化和内存分布。



.wasm文件体积更小

代码体积大小是非常重要的,因为.wasm文件必须通过网络下载。Rust没有runtime(单独的运行时环境,可以尝试理解为内存的管理在编译期就已经确定),使的.wasm文件体积更小,因为Rust没有包含额外的臃肿的部分,类似垃圾回收。你只需要引入你实际使用的功能。



不需要重写任何内容

不需要重写现有的代码库。你可以从将对性能要求最高的JavaScript函数移植到Rust开始。如果你愿意,你可以在优化完这部分之后就停止继续移植。



很好的配合其他工具

Rust和WebAssembly与现有的JavaScript工具集成在一起。它支持ECMAScript模块,您可以继续使用自己喜欢的工具,例如npm和Webpack。


拥有你期望的基础设施环境

Rust具有开发人员期望的现代方式的基础设施环境,例如

强大的包管理器 cargo

表达性(零成本)抽象

和一个热情的社区!😊