米Wasmerは、同社が開発しているWebAssemblyランタイム「Wasmer」を利用して、Clangコンパイラを動作させ、C言語で記述したプログラムをWebAssemblyに変換することに成功したと10月8日(現地時間)に明らかにした。WasmerはMITライセンスで公開しているオープンソースソフトウェア。
今回はWasmerの最新版であるバージョン4.4と、Wasmer JS SDK(バージョン0.8.0)を利用し、Wasmerの「clang/clang」パッケージを呼び出して実現した。これにより、WebアプリケーションのJavaScriptコードからClangコンパイラを呼び出してCプログラムをWebAssemblyに変換することも可能になった。変換したWebAssemblyはWebブラウザでも動作する。Wasmerの検証によると、Google Chrome、Safari、Firefoxの各ブラウザで動作したという。そしてWasmerでClangが動作することにより、複雑なツールチェーンを整備することなく、CプログラムをWebAssemblyに変換できるようになったという。
ただし、現在のところclang/clangパッケージの大きさが100Mバイトほどになっており、ダウンロードに時間がかかってしまうという問題が残っている。Wasmerは今後、このパッケージを縮小していく方針を示しており、ダウンロードデータのサイズを30Mバイト以下に抑えることを目標としている。
加えて、PythonのライブラリをWebAssemblyに変換することや、Clang(LLVM)を利用する各種言語のプログラムをWebAssemblyに変換することなどを計画しているという。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です