WebAssemblyでBashのコマンドプロンプトを実装、Wasmer 4.0が正式リリース、POSIX対応の「WASIX」など安定版に
今回は「WebAssemblyでBashのコマンドプロンプトを実装、Wasmer 4.0が正式リリース、POSIX対応の「WASIX」など安定版に」についてご紹介します。
関連ワード (安定版、実装、機構等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
スタンドアロンなWebAssemblyランタイム「Wasmer」の最新版である「Wasmer 4.0」の正式リリースが発表されました。
Wasmer 4.0ではWasmerが独自仕様として提唱する、WebAssemblyからOSなどのシステムにアクセスするAPIを抽象化するWASI(WebAssembly System Interface)仕様をPOSIX対応に拡張した「WASIX」が安定版となり、これを利用してWebAssemblyで実装したBashのコマンドプロンプトなどが実現しています。
参考:WebAssemblyをPOSIX対応に拡張した「WASIX」登場、bashやcurl、WebサーバなどLinuxアプリが実装可能に。Wasmerが発表
下記はWasmerによりBashのコマンドラインをWebAssemblyで実装し、それを実行したBash環境上でPythonのWasmer用パッケージを実行したところです。(「Wasmer 4.0」から引用)
説明では同じ機構を用いて「wasmer.sh」でWebブラウザ上でもWebAssembly上のBashを実行できるとされていますが、筆者がPCのChromeとMicrosoft Edgeで試したところ、うまく動きませんでした。
さて、上記の画面で分かるとおり、「wasmer run」コマンドでPythonのパッケージを読み込んでいます。これはWasmer 4.0で、Wasmerのパッケージマネジメント機能であるWapm機能がWasmerに統合されたことで実現されています。
そのほかWasmer 4.0ではWebAssemblyでCGIの仕組みを実現する「WCGI」、Emscriptenランタイムなどの新機能も追加されています。
参考:サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる