Dart 语言对 WebAssembly 的支持库wasm上线了!

WASM 即 WebAssembly 是一种全新的字节码格式标准,它比JS更快更安全,目前支持C/C++/Rust代码编译到 WASM。对于高计算量的web应用如:音视频处理,可以将计算逻辑抽离到WASM中,进而提升应用性能。此外,借助于运行时(runtime),WASM 也能嵌入到其他语言中运行。

在 Dart 中运行 WASM 的支持库 wasm 最近也上线了,它底层使用了 dart:ffi 和 wasmer 运行时。(注意:Dart本身还不能编译为WASM)

wasm 库示例代码:

import 'dart:io';
import 'package:wasm/wasm.dart';

void main() {
  final data = File('square.wasm').readAsBytesSync();
  final mod = WasmModule(data);
  print(mod.describe());
  final inst = mod.builder().build();
  final square = inst.lookupFunction('square');
  print(square(12));
}

更多详情,请直接查看代码仓库: