Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

【新刊紹介】『AngularJSアプリケーションプログラミング』発売、シングルページアプリケーション開発に必要な知識を網羅的に身につけられる一冊

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/08/20 14:10

 CodeZineにも記事を寄稿いただいている、執筆コミュニティ「WINGSプロジェクト」代表の山田祥寛さんの新刊『AngularJSアプリケーションプログラミング』が8月19日に技術評論社から刊行されました。

 本書は、Googleが提供する最新JavaScriptフレームワーク「AngularJS」の解説本です。特徴的な双方向バインディング/DIコンテナー/ルーティングを駆使した開発手法から、ディレクティブ、フィルター、サービス、WebAPI、コントローラーなどを解説し、さらにディレクティブ/フィルター/サービスの自作やテストなど応用技術までを網羅します。AngularJSによるWebアプリ開発に必要な知識が、この1冊で身に付きます。

担当編集者からのコメント

 Googleが開発したJavaScriptフレームワーク「AngularJS」は、すでにSPAなどのフロントエンド開発環境のデファクトスタンダードになりつつありますが、日本ではまだまだ普及期にあたります。本書はその状況を鑑み、「AngularJSをはじめて扱う入門者」向けの書籍として企画しました。

 執筆は、好評の『Ruby on Rails 4アプリケーションプログラミング』に引き続き、山田祥寛さんにお願いしました。山田さんは入門者向けの書籍を多数執筆しておられますが、その著書の共通した特徴は「基本解説で一切手抜きをしない」ことだと言えます。技術系の入門書によくある「この部分は難しいので後で理解しましょう」「ここは別途参考書を読んでください」といった“途中の誤魔化し”がなく、読者の理解に必要とあらば、数十ページを費やしてでも徹底した解説を加えます。そのため「これって入門書なの?」と疑問に思わざるを得ない分量になることが多く、実際に本書も512ページの大ボリュームとなっておりますが、そのおかげで、読みながら頭に「?」マークが浮かぶようなことはほとんどないでしょう。

 とはいっても、AngularJSは、MVWパターン、双方向データバインディング、リアクティブプログラミングといった新しい方法論を取り入れたプロダクトですので、本質的に理解するためには前提知識としてのモダンJavaScriptの理解も必要です。しかし本書では、プロトタイプ継承、メソッドチェーン、Promiseオブジェクトあたりの主要技術を、必要な箇所でページを割いてしっかり解説しているため、JavaScriptにあまり詳しくない方でも十分に内容を理解できるようになっています。AngularJSを使ってみたい現役のフロントエンジニアはもちろんのこと、モダンJavaScriptを中心としたWebテクノロジーの新潮流を俯瞰してみたいといった方にも、ぜひ本書を手にとっていただきたいと思います。

早期レビュー読者からのコメント(藤田喜美恵さん)

 クライアントサイドJavaScriptのアプリケーションフレームワーク・AngularJSを使いこなせるようになるための本!

 本書では、MVCパターンを利用したフルスタックのアプリケーションフレームワークであるAngularJSを、アプリ作成からツールと連携した自動テストまで、順を追って体系的に学習していきます。

 最初にAngularJSの3つの主要なコンポーネントであるテンプレート、コントローラー、サービスについて、それぞれの役割とアプリケーションの大まかな枠組みを理解します。

 次に、テンプレートで使われるディレクティブとフィルター、サービスについてそれぞれ基本から学習し、さらに応用編では自作の方法を学びます。また、コントローラーとスコープの関係、テンプレートとモデルの橋渡しをするスコープオブジェクトを理解し、アプリでのデータ交換についても学びます。

 最終章では、AngularJSの機能を拡張する周辺ライブラリ、AngularJSに限らず広くフロントエンド開発で使えるBowerなどのツールについて学ぶことができます。

 AngularJSの3つの特徴的な機能である

 ・モデルとビューの双方向データバインディング
 ・依存性を注入すべきインスタンスを管理するDIコンテナー
 ・URLによって処理するコントローラーとテンプレートを決定するルーティング

についても、図やサンプルコードを使って分かりやすく解説されています。

 紙面には説明に必要なサンプルコードの抜粋が掲載され、コード全体はWebサイトからダウンロードできるようになっています。

 本書の特徴は以下のような点です。

 ・フィルターやメソッドなどの説明では構文が枠で囲んで見やすく書かれ、引数の説明もあり、すぐに構文が把握できます。

 ・説明は詳しく分かりやすいだけでなく、必要に応じて図や表を使ったり、Noteや傍注で注意点・参考情報・補足情報など、Columnで知っておくと役立つ情報が載っているため、疑問点を残さずにすっきりと理解でき、学習の幅も広がります。

 ・サンプルコードのすぐ下に実行結果の図が示されており、実行結果がひと目で分かります。

 ・内容がよく整理され、イントロダクション、AngularJSの基本、Viewに関連するトピックであるディレクティブとフィルター、Modelに関連するトピックであるサービス、コントローラーに関連するトピックであるスコープオブジェクト、ディレクティブ・フィルター・サービスの自作、テスト、関連ツールというようにAngularJSを使った開発に必要な技術を順を追って身につけることができます。

 ・MVCパターンについても、AngularJSの学習と同時に自然に学習できます。

 さらに、ミスをしそうなところは注意点として書かれていたり、疑問に思いそうなところは補足説明があったり、学ぶ人の視点から行き届いた説明が書かれています。また、巻末の索引はキーワードが細かく網羅され、調べたい箇所をすぐに開けるようになっています。

 ていねいに隅々まで何度も読みたくなる本です。

仕様

  • 書名: 『AngularJSアプリケーションプログラミング
  • 著者: 山田祥寛
  • 出版社: 技術評論社
  • 頁数: 512ページ
  • 定価: 3,700円(+消費税)
  • 判型: B5変版
  • 色数: 1色
  • 刊行日: 2015年8月19日
  • ISBN: 978-4-7741-7568-3

目次

第1章 イントロダクション
  • 1.1 JavaScript の歴史
  • 1.2 フレームワークとは?
  • 1.3 JavaScript で利用可能なフレームワーク
第2章 AngularJS の基本
  • 2.1 AngularJS を利用するための準備
  • 2.2 コントローラー/サービスの基本
  • 2.3 AngularJS を理解する 3 つのしくみ
第3章 ディレクティブ
  • 3.1 ディレクティブの基本
  • 3.2 バインド関連のディレクティブ
  • 3.4 イベント関連のディレクティブ
  • 3.5 制御関連のディレクティブ
  • 3.6 フォーム関連のディレクティブ
  • 3.7 その他のディレクティブ
第4章 フィルター
  • 4.1 フィルターの基本
  • 4.2 文字列関連のフィルター
  • 4.3 配列関連のフィルター
  • 4.4 数値/日付関連のフィルター
第5章 サービス
  • 5.1 サービスの基本
  • 5.2 非同期通信の実行 - $http サービス
  • 5.3 HTTP 経由での CRUD 処理 - $resource サービス
  • 5.4 ルーティング - $routeProvider プロバイダー
  • 5.5 標準オブジェクトのラッパー
  • 5.6 Promise による非同期処理 - $q サービス
  • 5.7 その他のサービス
  • 5.8 グローバル API
第6章 スコープオブジェクト
  • 6.1 スコープの有効範囲
  • 6.2 コントローラー間の情報共有
  • 6.3 スコープの監視
第7章 ディレクティブ/フィルター/サービスの自作
  • 7.1 フィルターの自作
  • 7.2 サービスの自作
  • 7.3 ディレクティブの自作
  • 7.4 自作ディレクティブの具体例
第8章 テスト
  • 8.1 テストの基本
  • 8.2 ユニットテスト(基本)
  • 8.3 ユニットテスト(AngularJS アプリ)
  • 8.4 モック
  • 8.5 E2E(End to End)テスト
第9章 関連ライブラリ/ツール
  • 9.1 AngularJS アプリで利用できる関連ライブラリ
  • 9.2 開発に役立つソフトウェア/ツール
  • LINEで送る
  • このエントリーをはてなブックマークに追加
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5