WASI
system interfaceを使えば、linuxならPOSIX API、windowsならWindows APIを使うようにできる
WebAssemblyにはこういう抽象化レイヤは今までなかったので、コンパイル時にどのマシンリマスsystem callを使えばいいのかわからなかった
WASI以前の状況
これまでデファクトのEmscriptenはブラウザ外で利用するためには、ブラウザ向けのグルーコードとブラウザの挙動の一部の再実装が必要になっていた WASIの仕組みを整え直せばこういう処理はいらなくなるし、セキュリティやポータビリティーも実現できる
WASIは2019年3月の時点で3つの実装がある
ブラウザのポリフィル