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

Posted 编程思维架构及实现

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust & WebAssembly 翻译系列 为什么选择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

表达性(零成本)抽象

和一个热情的社区!

以上是关于Rust & WebAssembly 翻译系列 为什么选择Rust和WebAssembly?的主要内容,如果未能解决你的问题,请参考以下文章

入门 Rust 开发 WebAssembly

抢先一步,Rust构建版支持直接编译WebAssembly

使用 Docker 管理用 Rust 编写的 WebAssembly 程序

如何在编译为 WebAssembly 的 Rust 库中使用 C 库?

在 Rust 程序和嵌入式 WebAssembly 运行时之间进行通信的最佳实践是啥?

一文带你走进 Rust 和 WebAssembly 的世界