入門WebAssembly

Rick Battagline(著) , 株式会社クイープ(翻訳) , 株式会社クイープ(監修)

商品番号
173590
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2021年12月15日
出荷開始日
2021年12月14日
ISBN
9784798173597
判型
B5変
ページ数
312
キーワード
プログラミング  アプリ開発

販売価格:¥3,850(税込)

ポイント:350pt (10%)
詳細はこちら

送料無料 在庫あり

電子書籍を見る
ほしい物リストに追加

Webアプリケーション高速化に対する
ソフトウェアからの解決策がここに!

本書は、
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アプリ導入
・ブラウザデバッガでのコード検証
・メモリ操作
・オブジェクトのコンフリクト検出ツールの作成
・コンパイラの出力評価

本書では、WAT(WebAssembly Text)を紹介しながら、WebAssemblyがどのような仕組みで動作するのかを説明します。低レベルのテーマをいろいろ取り上げながら、Node.jsアプリケーションやWebベースのアプリケーションにおいてWebAssemblyがJavaScriptとどのようにやり取りするのかを少しじっくり見ていきます。
本書は最初の章から順番に読んでいくようになっており、それぞれの概念は次に説明する概念のベースになっています。
第1章

WebAssemblyとは何か、どのようなときにWebAssemblyを使うのが最適なのかを詳しく見ていきます。また、WebAssemblyの最も低レベルの仕組みを理解するためにWAT(WebAssembly Text)を紹介します。さらに、本書を読みながらサンプルを試してみるための環境を準備します。

第2章

WATの基礎を取り上げ、WebAssemblyにデプロイする高水準言語とWATとの関係を明らかにします。最初のWATプログラムを作成し、変数の使い方や制御フローといった基本的な内容について説明します。

第3章

WebAssemblyモジュールで関数を作成し、それらの関数をJavaScriptから呼び出す方法について説明します。また、これらの概念を具体的に示すために、素数を調べるプログラムを作成します。そして、テーブルからの関数呼び出しとパフォーマンスへの影響を調べます。

第4章

記数法、ビットマスク、2の補数など、WebAssemblyモジュールのパフォーマンスを改善するために利用できる低レベルの概念を学びます。

第5章

WebAssemblyには組み込みの文字列データ型がありません。この章では、WebAssemblyで文字列を表す方法と文字列を操作する方法を学びます。

第6章

WebAssemblyモジュールはJavaScriptなどの組み込み環境との間で大きなデータセットを共有するために線形メモリを使います。そこで、線形メモリを紹介し、線形メモリを使って組み込み環境との間で大きなデータセットを共有する方法について説明します。この章では、本書の残りの部分で使うオブジェクト衝突検出プログラムの作成を開始します。このプログラムでは、ランダムに動き回るオブジェクトを設定し、オブジェクトの衝突を検査します。

第7章

HTML、CSS、JavaScript、WebAssemblyを使って単純なWeb アプリケーションを作成する方法を学びます。

第8章

WebAssemblyでHTMLキャンバスを使って超高速なWebアニメーションを作成する方法を学びます。また、キャンバスを使ってオブジェクト衝突検出プログラムを改良します。

第9章

WebAssemblyが衝突検出のような計算量の多いタスクにいかに適しているのかを学びます。ChromeとFirefoxのプロファイラや他の最適化ツールを使ってアプリケーションのパフォーマンスの改善に取り組みます。

第10章

アラートやスタックトレースを使ってコンソールにログを出力するといったデバッグの基礎を取り上げます。また、ChromeとFirefoxのデバッガーを使ってWebAssemblyコードをステップ実行する方法も学びます。

第11章

WebAssemblyへの効率的なデプロイを目的として設計された高水準言語であるAssemblyScriptを取り上げ、WATを使ってAssemblyScriptを理解する方法と評価する方法を学びます。

第1章 WebAssemblyとは
1.1 WebAssemblyとは何か
1.2 WebAssemblyを使う理由
1.3 WebAssemblyとJavaScriptの関係
1.4 WATを学ぶのはなぜか
1.5 組み込み環境
1.6 今がチャンス

第2章 WATの基礎
2.1 これ以上ないほど単純なモジュール
2.2 WebAssemblyでのhello world!
2.3 WATの変数
2.4 条件付きロジック
2.5 ループとブロック
2.6 まとめ

第3章 関数とテーブル
3.1 WATから関数を呼び出す状況
3.2 is_prime関数を作成する
3.3 インポーする関数を宣言する
3.4 外部関数の呼び出しがパフォーマンスに与える影響
3.5 関数テーブル
3.6 まとめ

第4章 低レベルのビット操作
4.1 2進数、10進数、16進数
4.2 整数と浮動小数点数の演算
4.3 上位ビットと下位ビット
4.4 ビット演算
4.5 まとめ

第5章 WebAssemblyの文字列
5.1 ASCIIとUnicode
5.2 線形メモリ内の文字列
5.3 まとめ

第6章 線形メモリ
6.1 WebAssemblyの線形メモリ
6.2 JavaScriptのメモリオブジェクト
6.3 衝突検出
6.4 まとめ

第7章 Webアプリケーション
7.1 DOM
7.2 シンプルなNodeサーバーをセットアップする
7.3 1つ目のWebAssembly Webアプリケーション
7.4 16進数文字列と2進数文字列
7.5 まとめ

第8章 キャンバスの操作
8.1 キャンバスでのレンダリング
8.2 描画データを管理するWATモジュール
8.3 まとめ

第9章 パフォーマンスの最適化
9.1 プロファイラを使う
9.2 wasm-opt
9.3 パフォーマンスを改善するための戦略
9.4 WebAssemblyアプリケーションとJavaScriptアプリケーションを比較する
9.5 WATを手動で最適化する
9.6 パフォーマンスを記録する
9.7 benchmark.jsを使ったさらに高度なテスト
9.8 ‒print-bytecodeを使ってWebAssemblyとJavaScriptを比較する
9.9 まとめ

第10章 WebAssemblyのデバッグ
10.1 コンソールからデバッグする
10.2 アラートを使う
10.3 スタックトレース
10.4 Firefoxのデバッガー
10.5 Chromeのデバッガー
10.6 まとめ

第11章 AssemblyScript
11.1 AssemblyScriptのコマンドラインインターフェイス
11.2 AssemblyScriptでのhello world!
11.3 AssemblyScriptでのOOP
11.4 まとめ

第12章 おわりに

各種問い合わせは以下のリンクからご連絡ください

関連商品

動かして学ぶ!Python Django開発入門 第2版

販売価格:3,740円(税込)

2022.03.14発売

手づくり工作をうごかそう!micro:bitプログラミング 第2版

販売価格:2,090円(税込)

2022.02.15発売

おすすめ特集

情報処理教科書シリーズ

情報処理技術者試験におすすめの参考書「EXAMPRESS 情報処理教科書シリーズ」で最短合格!

ベンダー資格 試験対策本特集

ベンダー資格に関する書籍を試験ごとに紹介!ベンダー資格試験対策本特集

ゲームプログラミング・ゲーム制作関連本

趣味で始めてみたい方や、ゲームプログラマー・ゲームデザイナーにもおすすめ!ゲーム制作おすすめ本

Excel本大特集

【Excel本大特集】業務効率化やスキルアップに!おすすめの学習書をご紹介。

マネジメント・リーダーシップ特集

人材育成やチームビルディング、プロダクトマネジメントや業務改善など、組織を目標達成に導く書籍

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催。

特集をもっと見る