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

You might also like

book

Haskellによる並列・並行プログラミング

by Simon Marlow, 山下 伸夫, 山本 和彦, 田中 英行

並列・並行プログラミングはプログラマの重要な関心事であり、常に注目を集めている話題です。これまで、関数型言語は並列・並行プログラミングに有利であると言われてきましたが、それを解説する書籍はありませんでした。本書では、純粋関数型言語Haskellが提供する並列・並行プログラミングの機能を俯瞰し、実践的な問題を解いていきます。その根底にある考え方は、関数プログラミングの核心であるモジュラリティです。また本書では、実際の問題を解決するときに陥りがちな落とし穴や、高い性能を出すためのtipsなどをまとめています。

book

Python機械学習クックブック

by Chris Albon, 中田 秀基

Pythonによる機械学習を進める上で、頻繁に遭遇すると思われる200超の問題とその解決策を紹介。データ構造(ベクトル、行列、配列)、数値データ、カテゴリデータ、テキスト、画像、日時データの取り扱いといったデータ分析の基本から、特徴量抽出、次元削減、モデルの評価と選択、線形回帰、決定木、ランダムフォレスト、k-最近傍法、SVM、ナイーブベイズ、クラスタリング、ニューラルネットワーク、訓練済みモデルのセーブとロードなど、幅広い内容をカバー。巻末に日本語版付録「日本語テキストの取り扱い」を収録。「やりたいこと」「困っていること」に答えてくれる一冊です。

book

SVGエッセンシャルズ 第2版

by J. David Eisenberg, Amelia Bellamy-Royds, 原 隆文

SVGは2001年にW3C勧告として公開されたXMLベースの画像フォーマットです。ベクターグラフィックスなので拡大縮小、変形しても美しさが損なわれません。本書では簡潔なサンプルを数多く使い、基本的な図形の作成、アニメーションや複雑なグラフィックスの作成、さらにはスクリプトによる制御など、SVGの基礎から応用までをわかりやすく解説します。スマートフォンのSVG対応も進み、今後はさらに利用が膨らむであろうこのレガシーで今とても熱いフォーマットの基本を本書でマスターしましょう。

book

ユーザーストーリーマッピング

by Jeff Patton, 川口 恭伸, 長尾 高弘

本書はユーザーストーリーマッピングの作者、ジェフ・パットンが自ら開発した手法について書き下ろした書籍です。ストーリーマッピングの概要、優れたストーリーマッピングを作るためのコンセプトから、ユーザーストーリーを完全に理解する方法、ストーリーのライフサイクルの認識、イテレーションやライフサイクルごとにストーリーを使う方法まで、手法全体を包括的に解説します。製品開発、UXデザイン、業務要件定義の現場で、関係者が共通理解を持ち、使いやすく・実現可能なサービスや商品を作りたいと考えているすべての人、必携の一冊です。