Emscripten

Emscriptenとは



Emscriptenは、LLVM/Clangをベースとしたコンパイラであり、CおよびC++のソースコードWebAssembly(またはasm.js)にコンパイルすることを主な目的としています。これにより、C/C++で記述されたアプリケーションやライブラリを、ウェブブラウザ上で効率的に実行できます。

Emscriptenの利用



Emscriptenの登場により、C/C++で開発された既存のソフトウェア資産を、比較的容易にウェブ環境へ移植することが可能になりました。特に、グラフィックを多用するゲームや、計算負荷の高いアプリケーションにおいて、その効果を発揮します。

幅広い分野での応用



Emscriptenは、以下のような様々な分野で活用されています。

ゲームエンジン: Unity、Godot、Unreal Engineなどの主要なゲームエンジンは、HTML5へのエクスポート機能を提供しており、その内部でEmscriptenが利用されています。
フレームワークとツールキット: openFrameworksなどのフレームワークは、Emscriptenを通じてネイティブC++アプリケーションをHTML5にエクスポートできます。また、emscripten-qtはQtアプリケーションフレームワークで記述されたアプリケーションをWebAssemblyにコンパイルすることを可能にします。
ソフトウェアアーカイブ: インターネットアーカイブは、EmscriptenでコンパイルされたDOSBoxエミュレータを公開し、ブラウザ上で多数のMS-DOSプログラムやPCプログラムへのアクセスを提供しています。


WebAssemblyランタイム


 
最新のWebAssembly System Interface(WASI)とNode.js、Wasmtime、WasmerなどのWebAssemblyランタイムを組み合わせることで、EmscriptenはWeb環境だけでなく、非Web環境で実行するためのWebAssemblyにコンパイルできます。

移植事例



Emscriptenは、以下のソフトウェアをWebAssemblyに移植するために利用されています。

Unreal Engine 3
SQLite
MeshLab
Bullet physics
Auto[[CAD]]
Qt アプリケーションフレームワークのサブセット

まとめ



Emscriptenは、C/C++で開発されたソフトウェアをWebAssemblyに変換し、ウェブブラウザ上で効率的に実行するための強力なツールです。ゲーム、アプリケーション、アーカイブなど、様々な分野で活用されており、その応用範囲はますます広がっています。

参考



asm.js
Client'>Google Native Client(PNaCl)
Haxe
WebAssembly'>WebAssembly

外部リンク



公式ウェブサイト
GitHubプロジェクトページ
Emscriptenドキュメント
移植のサンプルとデモ
WebAssemblyランタイムのリスト

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。