Rick Battagline(著) , 株式会社クイープ(翻訳) , 株式会社クイープ(監修)
※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。
本書は、
Rick Battagline, "The Art Of WebAssembly: Build Secure, Portable, High-Performance Applications"
No Starch Press,
の翻訳書です。
【本書の内容】
ハードウェアの拡張・拡充を追い風に、日々増加する動画や工夫を凝らした各種コンテンツ。WebAssemblyは、リソースを大量に消費するWebアプリケーションやプログラムのパフォーマンスを最適化し高速化する、コンパクトなテクノロジーです。
本書はそのWebAssemblyの基礎から、どのように動作するか、使用すべきケースと見合わせたほうがいいケース、そして開発手法と展開方法を、Web開発者がしっかり理解し実践できるような内容と構成で執筆されています。
とくに、作りっぱなしではなく、デバッグ方法やコンフリクトを起こした場合の検出プログラムの作成、他のアプリケーションとの相互作用などを通して、デプロイ後のメンテナンスにも筆を進め、実際に導入するうえで必須となる知識も紹介しています。
より快適なユーザー経験を届けたいWeb開発者にとって、必携の1冊となることでしょう。
【本書で取り上げるジャンル】
・WebAssemblyの基礎(動作とプログラミング)
・導入すべきケースとすべきではないケースの判断
・デバッグ
・必要となるであろうツールの自作
・導入後のトラブルシューティング
【読者が得られること】
・ブラウザやNode.jsへのWebAssemblyアプリ導入
・ブラウザデバッガでのコード検証
・メモリ操作
・オブジェクトのコンフリクト検出ツールの作成
・コンパイラの出力評価
WebAssemblyとは何か、どのようなときにWebAssemblyを使うのが最適なのかを詳しく見ていきます。また、WebAssemblyの最も低レベルの仕組みを理解するためにWAT(WebAssembly Text)を紹介します。さらに、本書を読みながらサンプルを試してみるための環境を準備します。
WATの基礎を取り上げ、WebAssemblyにデプロイする高水準言語とWATとの関係を明らかにします。最初のWATプログラムを作成し、変数の使い方や制御フローといった基本的な内容について説明します。
WebAssemblyモジュールで関数を作成し、それらの関数をJavaScriptから呼び出す方法について説明します。また、これらの概念を具体的に示すために、素数を調べるプログラムを作成します。そして、テーブルからの関数呼び出しとパフォーマンスへの影響を調べます。
記数法、ビットマスク、2の補数など、WebAssemblyモジュールのパフォーマンスを改善するために利用できる低レベルの概念を学びます。
WebAssemblyには組み込みの文字列データ型がありません。この章では、WebAssemblyで文字列を表す方法と文字列を操作する方法を学びます。
WebAssemblyモジュールはJavaScriptなどの組み込み環境との間で大きなデータセットを共有するために線形メモリを使います。そこで、線形メモリを紹介し、線形メモリを使って組み込み環境との間で大きなデータセットを共有する方法について説明します。この章では、本書の残りの部分で使うオブジェクト衝突検出プログラムの作成を開始します。このプログラムでは、ランダムに動き回るオブジェクトを設定し、オブジェクトの衝突を検査します。
HTML、CSS、JavaScript、WebAssemblyを使って単純なWeb アプリケーションを作成する方法を学びます。
WebAssemblyでHTMLキャンバスを使って超高速なWebアニメーションを作成する方法を学びます。また、キャンバスを使ってオブジェクト衝突検出プログラムを改良します。
WebAssemblyが衝突検出のような計算量の多いタスクにいかに適しているのかを学びます。ChromeとFirefoxのプロファイラや他の最適化ツールを使ってアプリケーションのパフォーマンスの改善に取り組みます。
アラートやスタックトレースを使ってコンソールにログを出力するといったデバッグの基礎を取り上げます。また、ChromeとFirefoxのデバッガーを使ってWebAssemblyコードをステップ実行する方法も学びます。
WebAssemblyへの効率的なデプロイを目的として設計された高水準言語であるAssemblyScriptを取り上げ、WATを使ってAssemblyScriptを理解する方法と評価する方法を学びます。
第 1章:WebAssemblyとは
第 2章:WATの基礎
第 3章:関数とテーブル
第 4章:低レベルのビット操作
第 5章:WebAssemblyの文字列
第 6章:線形メモリ
第 7章:Webアプリケーション
第 8章:キャンバスの操作
第 9章:パフォーマンスの最適化
第10章:WebAssemblyのデバッグ
第11章:AssemblyScript