WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバーサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 JavaScript


Angularアプリケーションプログラミング  

Angularアプリケーションプログラミング

山田祥寛/著
株式会社 技術評論社/発行
定価 4,070円
B5変版・ 512ページ・ 1色
ISBN 978-4-7741-9130-0
発刊日: 2017年8月04日

[Amazon.co.jpからオンライン購入する]

   FAQ 本書訂正 アンケート ダウンロード

本書の特徴

定番JavaScriptフレームワークを学ぶ

データバインディング、コンポーネント、依存性注入などの基本から、ディレクティブ/パイプ/サービスの自作やテスト、さらに、Angular CLIやngx-bootstrapなど関連ツール、ライブラリといった応用分野まで網羅します。
最新Angular 4に対応し、今後のアップグレードにも留意した解説を行っています。
Angularによる動的Webアプリ開発に必要な知識が、この1冊で身に付きます。

まとめて読んで 更にスキルアップのこんな書籍

・JavaScript開発には欠かせないwebpackをサクッと学習
速習 webpack」(WINGSプロジェクト)
・JavaScriptを基礎からガッチリ
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで」(技術評論社)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・Rのつく財団入り口 - いわしまんさま
【JavaScript】Angular, React, Vue.jsの日本語で読める本まとめ(2018年4月)【フレームワーク】(2018年4月16日)
・無限大な夢のあと - noimpslmtbrkさま
【書評】Angular アプリケーションプログラミング(2017年10月01日)
・CodeZine - CodeZine編集部さま
【新刊紹介】『Angularアプリケーションプログラミング』8月4日発売、定番JavaScriptのフレームワークを徹底解説(2017年8月04日)

  Contents


第1章 イントロダクション
1.1 JavaScriptの歴史
 1.1.1 不遇の時代を経てきた JavaScript
 1.1.2 復権のきっかけは Ajax、そして HTML5 の時代へ
 1.1.3 JavaScript ライブラリから JavaScript フレームワークへ
1.2 フレームワークとは?
 1.2.1 フレームワークの本質
 1.2.2 フレームワーク導入の利点
 1.2.3 JavaScript で利用可能なフレームワーク
1.3 Angular の特徴
 1.3.1 Angular のバージョン

第2章 Angular の基本
2.1 Angularを利用するための準備
 2.1.1 Angular アプリの基本構造
2.2 サンプルアプリの内容を確認する
 2.2.1 Angular アプリの構成部品を束ねる — モジュール
 2.2.2 ページを構成する UI 部品を定義する — コンポーネント
 2.2.3 Angular アプリを起動するためのスタートアップコード — main.ts
 2.2.4 メインページの準備 — index.html
2.3 基本ライブラリの挙動を宣言する — 設定ファイル
 2.3.1 アプリで利用するライブラリ情報を管理する — package.json
 2.3.2 TypeScript コンパイラーの挙動を設定する — tsconfig.json
 2.3.3 SystemJS の挙動を宣言する — systemjs.config.js
2.4 学習を進める前に
 2.4.1 サンプルファイルの入手
 2.4.2 サンプルアプリの利用方法

第3章 データバインディング
3.1 データバインディングの基本
 3.1.1 4 種類のバインディング構文
3.2 Interpolation(補間)構文
 3.2.1 Interpolation の基本ルール
 3.2.2 {{...}} 式の注意点
 3.2.3 安全にプロパティ/メソッドにアクセスする — 「?.」演算子
3.3 プロパティバインディング
 3.3.1 補足:プロパティバインディングの別構文
 3.3.2 要素に HTML 文字列をバインドする
 3.3.3 補足:<iframe> 要素に外部リソースをバインドする
3.4 属性/クラス/スタイルバインディング
 3.4.1 HTML 属性に値をバインドする — 属性バインディング
 3.4.2 スタイルクラスを着脱する — クラスバインディング
 3.4.3 スタイルプロパティを設定する — スタイルバインディング
3.5 イベントバインディング
 3.5.1 イベントバインディングの基本
 3.5.2 イベント情報を取得する — $event
 3.5.3 テンプレート参照変数による入力値の取得
 3.5.4 キーイベントのフィルタリング — keyup.enter イベント
3.6 双方向バインディング
 3.6.1 双方向バインディングの基本
 3.6.2 双方向バインディングのしくみ
 3.6.3 補足:テキストボックスのデフォルト値

第4章 標準パイプ/ディレクティブ
4.1 パイプ
 4.1.1 パイプの基本
 4.1.2 文字列を大文字/小文字に整形する — lowercase/uppercase/titlecase
 4.1.3 オブジェクトを JSON 形式に変換する — json
 4.1.4 文字列から特定範囲の部分文字列を切り出す — slice(1)
 4.1.5 配列から特定範囲の要素を取り出す — slice(2)
 4.1.6 数値を桁区切り文字で整形して出力する — number
 4.1.7 数値を通貨形式に整形する — currency
 4.1.8 数値をパーセント形式に整形する — percent
 4.1.9 日付/時刻を整形する — date
 4.1.10 数値によって表示文字列を変化させる — i18nPlural
 4.1.11 文字列に応じて出力を切り替える — i18nSelect
4.2 ディレクティブ
 4.2.1 式の真偽によって表示/非表示を切り替える — ngIf
 4.2.2 条件式を満たさない場合の出力を指定する — ngIf(else)
 4.2.3 式の値によって表示を切り替える — ngSwitch
 4.2.4 配列をループ処理する — ngFor
 4.2.5 要素にスタイルプロパティを付与する — ngStyle
 4.2.6 スタイルクラスを着脱する — ngClass
 4.2.7 数値に応じて出力を切り替える — ngPlural
 4.2.8 用意されたテンプレートの内容をインポートする — ngTemplateOutlet
 4.2.9 コンポーネントを動的にインポートする — ngComponentOutlet

第5章 フォーム開発
5.1 フォーム開発の基本
 5.1.1 基本的なフォーム
5.2 フォームの構成要素
 5.2.1 フォームの状態を検知する
 5.2.2 ラジオボタンを設置する
 5.2.3 チェックボックスを設置する
 5.2.4 選択ボックスを設置する
5.3 フォーム開発に役立つミニサンプル集
 5.3.1 文字数カウント機能付きのテキストエリアを設置する
 5.3.2 テキストボックスの内容を区切り文字で分割する
 5.3.3 ファイルをアップロードする
5.4 モデル駆動型のフォーム
 5.4.1 ReactiveFormsModule モジュールの有効化
 5.4.2 モデル駆動型フォームの基本
 5.4.3 補足:group メソッドとプロパティ定義は両方必要?

第6章 コンポーネント開発
6.1 複数コンポーネントの連携
 6.1.1 コンポーネントを入れ子に配置する — @Input デコレーター
 6.1.2 子コンポーネントからイベントを受け取る — @Output デコレーター
 6.1.3 補足:テンプレート参照変数による子コンポーネントの参照
 6.1.4 モジュールの分離 6.2 コンポーネントのライフサイクル
 6.2.1 ライフサイクルメソッドの確認
 6.2.2 ページの初期化/終了処理を実施する — ngOnInit/ngOnDestroy
 6.2.3 入力プロパティの変更を検知する — ngOnChanges
 6.2.4 ビューの初期化/変更時の処理を実装する — ngAfterViewInit/ngAfterViewChecked
 6.2.5 コンポーネント配下のコンテンツをテンプレートに反映させる —
 6.2.6 外部コンテンツの初期化/変更時の処理を実装する — ngAfterContentInit/ngAfterContentChecked
6.3 コンポーネントのスタイル定義
 6.3.1 コンポーネントスタイルの定義
 6.3.2 補足:スタイルカプセル化のしくみ
 6.3.3 コンポーネントスタイルを定義する方法
 6.3.4 コンポーネントスタイルで利用できる特殊セレクター
 6.3.5 カプセル化の挙動を変更する — encapsulation パラメーター
6.4 アニメーション機能
 6.4.1 アニメーション機能を利用するための準備
 6.4.2 アニメーションの基本
 6.4.3 状態/遷移のさまざまな設定方法
 6.4.4 アニメーションの前後で任意の処理を実行する — アニメーションコールバック
6.5 コンポーネントのその他の話題
 6.5.1 テンプレートの外部ファイル化 — templateUrl パラメーター
 6.5.2 テンプレート構文の制約
 6.5.3 コンポーネント要素の操作 — host パラメーター

第7章 サービス開発
7.1 サービスの基本
 7.1.1 コンポーネント/サービスの連携
 7.1.2 依存性注入
 7.1.3 依存性注入の基本
7.2 依存性注入のしくみ
 7.2.1 providers パラメーターの記法
 7.2.2 サービス生成のアプローチ — useXxxxx プロパティ
 7.2.3 依存性注入のためのトークンを宣言する — provide プロパティ
 7.2.4 単一のトークンに複数のサービスを紐付ける — multi プロパティ
7.3 依存性注入の高度な話題
 7.3.1 インジェクターの階層構造
 7.3.2 任意のサービスを宣言する — @Optional デコレーター
 7.3.3 外部コンテンツからアクセスできないサービスを登録する — viewProviders パラメーター
 7.3.4 インジェクターを手動で呼び出す — inject メソッド
7.4 非同期通信の実行 — Http/Jsonpサービス
 7.4.1 SPA とXMLHttpRequest オブジェクト
 7.4.2 Http サービスの基本
 7.4.3 HTTP POST による非同期通信
 7.4.4 JSON 形式の Web API にアクセスする
 7.4.5 例:非同期通信処理をサービスに分離する
 7.4.6 ローカル環境で Web API をエミュレートする — angular-in-memory-web-api
 7.4.7 Observable/Promise 経由で渡された値を取得する — async パイプ
 7.4.8 標準のリクエストオプションを上書きする
 7.4.9 Http サービスでのセキュリティ対策

第8章 ルーティング
8.1 ルーティングとは?
8.2 ルーティングの基本
 8.2.1 基底パスの設定 — メインページ
 8.2.2 ルートの定義
 8.2.3 ルート対応のリンク/表示領域の準備 — ルートコンポーネント
 8.2.4 ルーター対応コンポーネントの作成
 8.2.5 別のルートにリダイレクトする
8.3 ルーター経由で情報を渡す手法
 8.3.1 パスの一部としてパラメーターを引き渡す — ルートパラメーター
 8.3.2 ハイパーリンクにクエリ情報/フラグメントを引き渡す — queryParams/fragment 属性
8.4 マルチビュー/入れ子のビュー/ガード
 8.4.1 テンプレートに複数のビュー領域を設置する
 8.4.2 入れ子のビューを設置する
 8.4.3 補足:ルーターのマッチング戦略(prefix とfull)
 8.4.4 ルート遷移の可否を判定する — ガード

第9章 パイプ/ディレクティブの自作
9.1 パイプの自作
 9.1.1 パイプの基本
 9.1.2 例:改行文字を <br> 要素に変換する nl2br パイプ
 9.1.3 パラメーター付きのパイプを定義する
 9.1.4 例:配列の内容を任意の条件でフィルターする
 9.1.5 pure なパイプとimpure なパイプ
9.2 属性ディレクティブの自作
 9.2.1 属性ディレクティブの基本
 9.2.2 パラメーター付きのディレクティブを定義する
 9.2.3 イベント処理を伴うディレクティブ
 9.2.4 例:検証ディレクティブを準備する
9.3 構造ディレクティブの自作
 9.3.1 構造ディレクティブとは?
 9.3.2 構造ディレクティブの実装

第10章 テスト
10.1 テストの基本
10.2 ユニットテスト(基本)
 10.2.1 ユニットテストのためのツール
 10.2.2 ユニットテストの準備
 10.2.3 テストの基本
10.3 ユニットテスト(Angularアプリ)
 10.3.1 パイプのテスト
 10.3.2 サービスのテスト
 10.3.3 コンポーネントのテスト(基本)
 10.3.4 外部テンプレート付きコンポーネントのテスト
 10.3.5 入出力を伴うコンポーネントのテスト
 10.3.6 サービスに依存したコンポーネントのテスト
 10.3.7 サービスに依存したコンポーネントのテスト(スパイ)
 10.3.8 サービスに依存したコンポーネントのテスト(非同期版)
 10.3.9 「浅い」コンポーネントのテスト — NO_ERRORS_SCHEMA
 10.3.10 ディレクティブのテスト — ホストコンポーネント
 10.3.11 Http/Jsonp を利用したサービスのテスト
10.4 E2E(End to End)テスト
 10.4.1 E2E テストの準備
 10.4.2 E2E テストの基本

第11章 関連ライブラリ/ツール
11.1 Angularで利用できる関連ライブラリ
 11.1.1 Bootstrap を Angular アプリで活用する — ngx-bootstrap
 11.1.2 標準の検証ルールを拡張する — ng2-validation
 11.1.3 国際化対応ページを実装する — ng-xi18n
11.2 開発に役立つソフトウェア/ツール
 11.2.1 アプリの雛形を自動生成する — Angular CLI
 11.2.2 Angular アプリの構造を視覚化する — Augury
 11.2.3 アプリを事前コンパイルする — AoT コンパイル

Appendix TypeScript簡易リファレンス
A.1 TypeScript Playground
A.2 変数
A.3 定数
A.4 型アサーション
A.5 関数
A.6 アロー関数
A.7 関数のオーバーロード
A.8 共用型
A.9 クラス
A.10 get/set アクセサー
A.11 継承
A.12 インターフェイス
A.13 ジェネリック

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2024,Yamada Yoshihiro.  All Right Reserved.