翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 新規会員登録 ログイン
SEshop

入門WebAssembly

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

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

3,850円(税込)(本体3,500円+税10%)
送料無料

350pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

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のきほん

2,420円(税込)

2024.05.20発売

おうちで学べる Pythonのきほん【PDF版】

2,420円(税込)

2024.05.20発売

おすすめ特集

法人・教育機関のお客様へ

【法人・教育機関のお客様へ】新年度の大口注文・お見積りなど、お気軽にご相談ください

Webデザイン特集

デザインやコーディングなど、Webデザインに役立つスキルが身につく書籍を揃えました

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

新社会人におすすめの本

新社会人の役に立つスキルが身につく本。ビジネスパーソンとしてスタートダッシュを切ろう!

プログラミング教育の本

小学校から必修化!人気の『ルビィのぼうけん』ほかプログラミング教育の本はこちら

翔泳社のセミナー・講座

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

特集をもっと見る