“やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

「Emacs」と人気を二分するテキストエディター界の雄「Vim」。多くのユーザーに愛され、さまざまな環境に移植されていますが、今回、とうとうWebブラウザーへの進出を果たしたようです。

“WebAssembly（WASM）”は、Webブラウザーで実行できるポータブル（OSやデバイスに依存しない）なバイナリ形式。ネイティブコードに近い動作速度を期待できるほか、テキスト形式のJavaScriptに比べてファイルサイズが小さくて済むといった利点を持ちます。

今回発表されたWASM版「Vim」は、C言語で実装されている「Vim」を「Emscripten」や「Binaryen」といったツールを利用してWebAssemblyへとコンパイルしているとのこと。WebAssemblyは直接DOMにアクセスできない（Webページを描画できない）ため、描画を行うためのレイヤーはJavaScriptで実装されているそうです。また、ユーザーが行ったキー入力をバックエンドへ送信する処理も、JavaScriptが担当しています。

動作はMacでしか試していないとのことですが、編集部にて試用したところ、Windowsでも一応実行できるようでした。デモページは全部で2.5MBほどで、読み込みに少し時間がかかりますが、しばらく待つと見慣れた「Vim」の画面が現れます。推奨ブラウザーはデスクトップ版の「Google Chrome」、「Firefox」、「Safari」とされていますが、「Microsoft Edge」でも起動と入力までは行えました。

今回は“とりあえず動いた”段階とのことですが、WebAssemblyのポテンシャルを感じさせる出来だと思います。マウスによる操作やクリップボードへのアクセス、マルチバイト文字やIMEのサポートなども計画されているとのことで、今後の開発に期待がかかりますね。