commit/cbdd69dac0247d8a997c768cf0257b5a1e389cf9
为什么是Rust和WebAssembly?
具功效学的低控制
JavaScript Web 应用程序难以获得并保持可靠的性能。 JavaScript 的动态类型系统和垃圾手机暂停也没有帮助。 如果你意外的偏离的JIT的正确路径,似乎很小的代码改变也会造成严重的性能回归。
Rust 给予程序员低级别的控制和可靠的性能。 它不受困扰JavaScript的不确定性垃圾回收暂停的影响。 程序员可以控制间接,单态化和内存布局。
小的.wasm
体积
代码大小无比重要,因为.wasm
必须通过网络下载。
Rust缺少一个运行时得以支持小的.wasm
大小,因为没有包含像垃圾回收那样额外的内容。
你只需要为你实际使用的函数支付(代码大小)
不要重写一切
已经存在的代码库不需要被丢弃。 你可以移植性能最敏感的JavaScript函数到Rust获得立竿见影的效果。 如果你愿意你甚至可以在那里停下来。
与内容协调良好
Rust 和 WebAssembly 整合了 JavaScript 工具。 它支持ECMAScript 模块并且你可以继续使用你喜爱的工具如npm,Webpack和Greenkeeper.
你期望的工具
Rust有开发人员期望的现代化工具,例如:
强大的包管理工具
cargo
,具有表现力(和零消耗)的抽象,
以及一个热情的社区! 😊