albatrosary's blog

UI/UXとエンタープライズシステム

夏の終わりの読書感想文:「AngularJSリファレンス」を読んで

9/4(木)に「AngularJSリファレンス」の献本としてインプレス社から送付していただき、早々に目を通しましたので読書感想文を記載します。この書物を購入する際の参考になれば幸いです。現状は全ページにさっと目を通したという段階ですのでファーストインプレッションというレベルですが記載します。

"リファレンス"という単語がついてますが、良くある"機能の説明"に終始した書物とは別ものの印象です。むしろ「なぜリファレンスと付けました?」と聞きたくなる内容です。

この本の対象はプログラマだけでなく、デザイナーやセキュリティ担当、CI管理者なども含んでいると思われます。見方を変えるとAngularJSそのものがプログラマだけでなく、デザイナーやセキュリティ担当の方も積極的に使うべきツールなのかもしれないと読んでいて感じたことです。

 

「AngularJSリファレンス 」という書物

特徴

「AngularJSリファレンス」はディレクティブやサービス、DIなど他のJavaScriptフレームワークには無い概念を概念図やサンプルソース等用いて丁寧に書き上げています。頭の中をリラックスして読める専門書と久しぶりに出会えました。AngularJSの最も特徴的なところですが「ディレクティブ」のおかげでデザイナーなJavaScriptを書いたことの無いエンジニアでも優れたフレームワークが利用できる点にあると思います。

  • AngularJS v1.3をターゲット
  • 所々にAngularJS v2.0の方針が記載されている
  • きちんと動くソースコードが記載されている
  • 概要図がとても分かり易い

構成

基礎からプロジェクトでの開発ライフサイクルまでを記載した幅の広い構成です。本の厚さも約400ページという大作に仕上がっています。それぞれ「章」の特徴を記載します。

  • Chapter1〜3は、デザイナーや初学者でも十分AngularJSが楽しめる
  • Chapter4は、AngularJSをベースとしたプログラミングの基礎
  • Chapter5〜10は、AngularJSの本丸
  • Chapter11〜13は、プロジェクトを稼働させるためのノウハウ

「AngularJSリファレンス」のコンテンツを書籍から引用します。ここから私が書いた分類が理解できると思います。この本を片手にテキストエディターを開きすぐに誰でもコーティングを始められると思います。理解に苦しむ時には「概念図(構成図)」がその助けになります。特に前半は、デザイナーやJavaScriptをあまり書いたことの無い方にでも十分AngularJSの高機能なところに触れることができる内容です。

  • Chapter1 :基本機能の概要
  • Chapter2 :ビルトインディレクティブ
  • Chapter3 :フィルター・サービス・フォームバリデーション
  • Chapter4 :グローバルAPI
  • Chapter5 :モジュールとDI
  • Chapter6 :スコープとコントローラ
  • Chapter7 :ルーティングと通信
  • Chapter8 :カスタムフィルター
  • Chapter9 :カスタムサービス
  • Chapter10:カスタムディレクティブ
  • Chapter11:テスト
  • Chapter12:セキュリティ
  • Chapter13:ツール

AngularJSの何がいいのか

私自身AngularJSで最も注目すべき点は次のことで、そういった内容が「AngularJSリファレンス」でも読み取れます。JavaScriptフレームワークを選定するときに「将来このフレームワークはどういう方向に進むのか?」というのがプロジェクトオーナーの気になることでもあるしエンジニアも覚える価値があるものなのかということがあります。最近ではありますが、AngularJSに対しては"方向性がしっかりした安心して利用できるフレームワーク"という印象があります。

フルスタック

書籍に記載されていますが、AngularJSの特徴の一つとして「フルスタック」というものがあります。この「フルスタック」とは何かが問題ですが次の機能がありモダンWebアプリケーションを開発するためも「機能」がすべてそろっているという意味と解釈しています。つまり

  • HTMLベースのテンプレート機能
  • 豊富なビルトインディレクティブ
  • 多彩な表現を実現するフィルター機能
  • 双方向バインディング
  • DI(Dependency Injection)コンテナの仕組みを持つモジュール管理機能
  • 厳密なスコープ
  • Singe-page Applicationに最適なルーティング
  • Ajax通信のサポート
  • テストの重視
  • セキュリティ対策
  • モバイル対応

最近のWeb開発はエコシステムを取り入れていますので、開発ツールであるYEOMANやBootstrap、AngularUIなどを取り入れることで、Webアプリケーションを構築するのに十分であることが理解できます。

将来を見据えた進化

将来を見据え、AngularJS v2.0では、ECMAScript6の対応やパフォーマンスの向上があります。また、Web ComponentsやObject.observe()の概念を理解されている方はAngularJSの方向性がWeb標準にあることも理解できると思います。書籍では次の点を上げていました。

  • ECMAScript6対応
  • パフォーマンスの向上
  • モバイル対応、ルーティング、永続化などの機能強化

本を読み終えて

JavaScriptフレームワークを利用するときに参考としたいと思い購入した本は数多くありましたが、その中でも「AngularJSリファレンス」は綺麗に整理された読み易い書籍だと思います。このブログで書いた「構成」に従って読めば、初学者でも安心して読み進めると思いますが、そのときに問題となりそうなことがひとつあります。それは約400ページという厚さにあります。自身のスキルや業務に応じて、どこを深掘りして読むかを決めると良いかと思います。

YEOMANでAngularJSジェネレータをインストールし「AngularJSリファレンス」片手にスターバックスでコーヒーでも飲みながらといった感じで楽しめる本だと思います。

 

f:id:albatrosary:20140910110100j:plain

Amazon.co.jp: AngularJSリファレンス: 池添 明宏, 金井 健一, 吉田 徹生, 丸山 弘詩: 本