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
表达性(零成本)抽象
和一个热情的社区!😊