Qt を Web ブラウザで動かす

Google の Native Client 上で Qt を動かす試みは比較的前から有る話題でしたのでご存じの方もいらっしゃると思いますが、最近、それとは別のアプローチで Qt を Web ブラウザで動かしている例がありました。

詳しいことは以下の記事とそこからリンクされているそれ以前の記事を参照してください。

それは Emscripten というプロジェクトを用いて実現されています。Emscripten は LLVM をベースにして、C/C++(や LLVM のフロントエンドがサポートする言語) を JavaScript へコンパイル(コンバート?)することが出来ます。上記の記事では Emscripten を使って、Qt を JavaScript にコンパイルしてブラウザ上で動かしています。画像を見ると Firefox や Chromium で動いているところが確認できます。実際に動かしてみたい方は記事中にデモへのリンクがあるのでそちらをたどってみてください。QtCore と QtGui とアプリをまとめて JavaScript にするため、ファイルサイズは数MB以上と大きくなり、実際に動き出すまでの時間はかかりますが、ランタイムやプラグインのインストール無しに Qt アプリが動いている様子はなかなか面白いものです。さすがに、レスポンスが良いとは言えませんが。

動かしている Qt のバージョンについての詳しい記述はありませんが、QWS で動かしていることから Qt4 系だということは分かります。やり方によっては QtWebKit や QtScript 上で Qt を動かすような事も出来るかもしれません。