より速く強力なWebアプリ実現のための
WebAssemblyガイドブック
著者 | 日向 俊二 |
---|---|
判型 | B5変型、208頁 |
ISBN | 978-4-87783-488-3 |
価格 | 本体2,600円 |
発行日 | 2021年8月20日(初版 第1刷発行) |
備考 | ダウンロードサービス:学習に使えるサンプルファイル |
本書について
WebAssemblyは、Webクライアントで素早い動作や反応を実現する技術のひとつです。現在のところ、主にWebブラウザやスマホのアプリなどで処理を高速に行うために使われていますが、WebAssemblyの用途はそれだけにとどまりません。将来は広範な分野で活用されることが期待されている仕様です。
WebAssemblyは使い方が簡単で生産性が高いという点でも注目されています。アセンブリ言語と聞くと、難解で些細なことをするにもたくさんの命令を必要とする生産性の低いものと捉えられがちです。実際、ほとんどのアセンブリ言語は、ひとつの命令でできることは単純なので、CPUやメモリの状態を想像しながらニモニックと呼ばれる命令表現を完璧に羅列しなければなりません。しかしWebAssemblyでは、面倒なことはほぼすべて、C/C++あるいはRustなどのコンパイラが自動的にやってくれます。プログラマは、高水準言語でプログラムを作成してWebAssemblyのモジュールを作り、それをJavaScriptから呼び出して使うだけです。
本書は、HTMLとJavaScriptについての知識が多少あって、C/C++またはRustである程度プログラミングできる読者を対象に、WebAssemblyの役割や使い方を案内するガイドブックです。WebAssemblyはまだまだ発展途上の技術なので今後変更されることはありますが、本質的な部分が大幅に変わることはないと想定できます。また、WebAssemblyをサポートしていれば特定の実行環境にはほぼ依存しないので、本書でWebAssemblyについての知識を深めておき、必要に応じて関連する技術を取り入れていけば、将来的に広く応用できるようになるでしょう。
目次
- 第1章 WebAssemblyについて
- 1.1 WebAssemblyの概要
- 1.2 WebAssemblyの実行環境
- 1.3 WebAssemblyと高水準言語
- 1.4 WebAssemblyオブジェクトとWebAPI
- 1.5 WebAssemblyと関連技術
- 第2章 WebAssemblyのツール
- 2.1 WebAssembly Studio
- 2.2 コンパイラ
- 2.3 プロジェクト/パッケージマネージャ
- 2.4 WABT
- 2.5 言語と手段の選択
- 2.6 WebサーバーとWebブラウザ
- 第3章 C/C++とWebAssembly
- 3.1 C/C++の概要
- 3.2 WebAssembly Studioのプロジェクト
- 3.3 Emscripten
- 3.4 C++とWebAssembly
- 第4章 RustとWebAssembly
- 4.1 Rustの概要
- 4.2 WebAssembly Studioのプロジェクト
- 4.3 Rustコンパイラ
- 4.4 値の受け渡し
- 4.5 JavaScript関数の呼び出し
- 第5章 AssemblyScript
- 5.1 AssemblyScript
- 5.2 TypeScript
- 5.3 AssemblyScriptのプログラム
- 5.4 AssemblyScriptのプロジェクト
- 5.5 WebAssembly Studio
- 第6章 Wat
- 6.1 Watの概要
- 6.2 Watプロジェクト
- 6.3 制御構文とWat
- 第7章 アセンブリ
- 7.1 アセンブリファイル
- 7.2 セクション
- 付録
- 付録A インストールと設定のヒント
- 付録B アセンブリコード
- 付録C トラブル対策
- 付録D hdump