AngularJSアプリケーション開発ガイド

Book description

定型的な単純作業が繰り返されがちなWeb開発をよりシンプルで楽しいものにしようというのがAngularJSの試みです。本書ではまずAngularJSアプリケーションの構成要素を押さえた上で、AngularJSアプリケーションの開発、テスト、実行手順を解説します。サーバ通信のAPIや考慮するべき点、ディレクティブの仕組みについて解説し、最後にAngularJSのさまざまな活用例を紹介します。GoogleがサポートするAngularJSには、開発メンバーがGoogleのメールやマップ、カレンダーといった大規模Webアプリケーション開発を通して学んだ教訓が凝縮されています。

Table of contents

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

Product information

  • Title: AngularJSアプリケーション開発ガイド
  • Author(s): Brad Greeni, Shyam Seshadri, 牧野 聡
  • Release date: April 2014
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873116679