内容紹介
JavaScript MVCフレームワーク「AngularJS」徹底活用入門!
Web開発者支持率No.1のJavaScript MVCフレームワーク「AngularJS」の解説書。GoogleがサポートするAngularJSには、開発メンバーが自社のWebアプリケーション開発を通して学んだ教訓が凝縮されています。定型的な単純作業が繰り返されがちなWeb開発をよりシンプルで楽しいものにしようというのがAngularJSの試みです。本書ではまずAngularJSアプリケーションの構成要素を押さえた上で、AngularJSアプリケーションの開発、テスト、実行手順を解説します。サーバ通信のAPIや考慮するべき点、ディレクティブの仕組みについて解説し、最後にAngularJSのさまざまな活用例を紹介します。
このような方におすすめ
JavaScriptプログラマー、Webアプリ開発者、Webサイト制作者、スマートフォンアプリ開発者
目次
詳細目次
まえがき
1章 イントロダクション
1.1 コンセプト
1.1.1 クライアント側のテンプレート
1.1.2 MVC(Model View Controller)
1.1.3 データバインディング
1.1.4 依存性の注入
1.1.5 ディレクティブ
1.2 ショッピングカートの例
1.3 次の章では
2章 AngularJSアプリケーションの構造
2.1 AngularJSの呼び出し
2.1.1 スクリプトの読み込み
2.1.2 ng-appを使った境界の定義
2.2 モデル、ビュー、コントローラ
2.3 テンプレートとデータバインディング
2.3.1 文字列の表示
2.3.2 フォームへの入力
2.3.3 Unobtrusive JavaScript
2.3.4 リスト、テーブル、その他の繰り返し要素
2.3.5 表示と非表示の切り替え
2.3.6 CSSのクラスとスタイル
2.3.7 src属性と href属性
2.3.8 Angular式
2.3.9 コントローラによる UIの責任の分離
2.3.10 $scopeを通じたモデルのデータの公開
2.3.11 $watchを使ったモデルの変化への監視
2.3.12 watch()のパフォーマンス
2.4 モジュールを使った依存関係の管理
2.4.1 定義するべきモジュールの個数
2.5 フィルタを使ったデータ形式の指定
2.6 ルートと $locationに応じたビューの切り替え
2.6.1 index.html
2.6.2 list.html
2.6.3 detail.html
2.6.4 controllers.js
2.7 サーバとの通信
2.8 ディレクティブを使った DOMの更新
2.8.1 index.html
2.8.2 controllers.js
2.9 入力データの検証
2.10 次の章では
3章 AngularJSアプリケーションの開発
3.1 プロジェクトの構成
3.2 ツール
3.2.1 IDE
3.3 アプリケーションの実行
3.3.1 Yeomanを使う場合
3.3.2 Yeomanを使わない場合
3.4 AngularJSアプリケーションのテスト
3.4.1 Karma
3.5 ユニットテスト
3.6 エンドツーエンドテスト(結合テスト)
3.7 コードのコンパイル
3.8 その他の便利なツール
3.8.1 デバッグ
3.8.2 Batarang
3.9 Yeoman(ワークフローの最適化)
3.9.1 Yeomanのインストール
3.9.2 AngularJSプロジェクトの新規作成
3.9.3 サーバの実行
3.9.4 ルート、ビュー、コントローラの追加
3.9.5 テストのストーリー
3.9.6 プロジェクトのビルド
3.10 AngularJSと RequireJSの統合
4章 AngularJSアプリケーションの内部構造
4.1 アプリケーション
4.2 モデルとコントローラそしてテンプレートの関係
4.3 モデル
4.4 サービスとディレクティブそしてコントローラ
4.4.1 サービス
4.4.2 ディレクティブ
4.4.3 コントローラ
4.5 テンプレート
4.6 テスト
4.6.1 ユニットテスト
4.6.2 シナリオテスト
5章 サーバとの通信
5.1 $httpを使った通信
5.1.1 リクエストの詳細な設定
5.1.2 HTTPヘッダーの指定
5.1.3 レスポンスのキャッシュ
5.1.4 リクエストやレスポンスの変換
5.2 ユニットテスト
5.3 RESTのリソースの扱い
5.3.1 リソースの宣言
5.3.2 追加のメソッド
5.3.3 (本当に必要なのでなければ)コールバックは利用するべきではない
5.3.4 サーバ呼び出しの簡素化
5.3.5 リソースのユニットテスト
5.4 $qとpromise
5.5 レスポンスの横取り
5.6 セキュリティに関する注意
5.6.1 JSONの脆弱性
5.6.2 XSRF
6章 ディレクティブ
6.1 ディレクティブと HTMLの構文規則
6.2 APIの概要
6.2.1 ディレクティブの名前
6.2.2 ディレクティブ定義のオブジェクト
6.2.3 transcludeプロパティ
6.2.4 compileの関数と linkの関数
6.2.5 scopeオブジェクト
6.2.6 DOMの操作
6.2.7 controllerプロパティ
6.3 まとめ
7章 その他の便利な機能
7.1 $location
7.1.1 HTML5モードと Hashbangモード
7.2 AngularJSのモジュールのメソッド
7.2.1 mainメソッドはどこに
7.2.2 読み込みと依存先の指定
7.2.3 便利なメソッド
7.3 $on、$emit、$broadcastを使ったスコープ間の通信
7.4 cookie
7.5 国際化とローカライズ
7.5.1 AngularJSにできること
7.5.2 国際化とローカライズの仕組み
7.5.3 考慮するべき点
7.6 HTMLのサニタイズ
7.6.1 linkyフィルタ
8章 レシピ集
8.1 jQueryの datepickerをラップする
8.1.1 ng-model属性
8.1.2 selectの関連付け
8.1.3 selectの呼び出し
8.1.4 コードの残り部分
8.2 チームリストアプリケーション(抽出とコントローラ間通信)
8.2.1 検索フィールド
8.2.2 コンボボックス
8.2.3 チェックボックス
8.2.4 繰り返しの表示
8.3 ファイルのアップロード
8.4 Socket.IOの利用
8.5 シンプルなページ区切り表示のサービス
8.6 サーバとの通信とログイン
8.7 おわりに
索引
続きを見る