この記事は The Qt Blog の Qt for WebAssembly – check out the examples! を翻訳したものです。
執筆: Eskil Abrahamsen Blomfeldt, 2018年05月22日
WebAssembly は主要なウェブブラウザでサポートされており、ウェブページ上のサンドボックスで実行可能なバイナリ形式で、ネイティブのマシンコードとほぼ同等のスピードで動作します。Qt for WebAssembly は、ダウンロードの手間や(wasm ファイルの提供以外の)特殊なサーバーの設定なしにウェブブラウザ上で Qt アプリケーションを実行可能にする技術です。
実際に見ていただけるよう、いくつかのデモをコンパイルいたしました。パフォーマンスを体感したい場合は Firefox をご利用ください。
以下にデモと解説を羅列します。
http://example.qt.io/qt-webassembly/opengl/hellowindow/hellowindow.html
Qt のロゴを OpenGL を利用して描画しています。このサンプルでは、任意の OpenGL のコードが実際に動くという事がお分かりいただけます。
http://example.qt.io/qt-webassembly/SensorTagDemo/SensorTagDemo.html
産業オートメーションに向けた比較的規模の大きいデモです。元々は Qt の WebSockets を利用してデータを受け取るデモですが、データはダミーで、単に綺麗な見た目を表示しています。
http://example.qt.io/qt-webassembly/quickcontrols2/gallery/gallery.html
Qt Quick Controls 2 が提供するコントロールのギャラリーです。このデモでは、Qt Quick と Qt Quick Controls 2 がブラウザ上で動くことを見ていただけます。
http://example.qt.io/qt-webassembly/widgets/richtext/textedit/textedit.html
Qt Widgets で記述された簡単なテキストエディタです。Qt のウィジェットを利用したアプリケーションもブラウザ上で動作しています。
いつもどおり、みなさんの感想をぜひおよせください!