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

データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理

by Martin Kleppmann, 斉藤 太郎, 玉川 竜司

現代の分散システム設計においてデータの扱いは重要な課題です。本書は、データを処理し、保存するさまざまなテクノロジーの特性を詳述することで、ツールの長所と短所を理解し、システムの課題と使用するアプリケーションに適した選択肢の発見を助けます。本書では、データの量や複雑さ、変化が課題となるアプリケーションを「データ指向」と名づけ、データ指向アプリケーションの設計を支える基本的な概念を解説します。そしてレプリケーション、パーティション、トランザクションなど分散データベースについて扱い、さらにバッチ処理、ストリーム処理など、データセットの取り出しや結合について解説します。

book

マイクロインタラクション ―UI/UXデザインの神が宿る細部

by Dan Saffer, 武舎 広幸, 武舎 るみ

UIのディテールをほんの少し工夫するだけでUXは劇的に改善します。本書では効果的なマイクロインタラクション――ひとつの作業だけをこなす最小単位のインタラクション――の意味、有効性、デザイン手法を学びます。マイクロインタラクションを「トリガー」「ルール」「フィードバック」「ループとモード」に分解して豊富な実例とともにていねいに解説し、さらにプロトタイプやドキュメント作成、テストといった実践的な手法も紹介します。マイクロインタラクションを活用すれば、ありふれた製品も顧客を引きつける魅力的な製品に生まれ変わらせることができます。ドナルド・ノーマン推薦書!

book

アイソモーフィックJavaScript

by Jason Strimpel, Maxime Najim, 牧野 聡

アイソモーフィックJavaScriptは、クライアントサイド(ブラウザ)とサーバーサイドで同じコードを実行できるようにするためのフレームワークの総称。本書では、従来のアプリケーションが持つ問題点(読み込みの遅さ、SEO対策の困難さなど)を明らかにするところから始め、アイソモーフィックなアプリケーションの分類やアイソモーフィックさの度合いについて理解したうえで、アイソモーフィックなJavaScriptフレームワークを構築するための実践手法を解説し、Walmart、Airbnb、Facebook、Netflixといった大企業がアイソモーフィックJavaScriptを選んだ理由を明らかにします。読者は、なぜこのアプリケーションアーキテクチャーが、ページ読み込み速度やSEOコンパチビリティといった、ビジネス面でクリティカルな問題を解決するためのソリューションとして人気上昇中なのかを学べます。