JavaScript
AdventCalendar
AngularJS

いまから始める!AngularJS《Advent Calendar 2014》

More than 3 years have passed since last update.

これは AngularJS Advent Calendar 2014 の初日(12/1)の投稿です。

AngulrJS については ADVENTAR にもカレンダーがあるので、このようなイベントに参加する人が Qiita と ADVENTAR でバラけている気がしなくもないですが、当日に初日の枠が空いていたので、夕方になってカッとなって書きますw ですので文量が少なくてすみません。

開発環境については、他の方が書いてくれそうなので、今回は省きます。

(ただ AngularJS に限らず、JavaScript のフロントエンドをやるなら Mac でやったほうが捗るかと思います。)


公式ページやリファレンス

公式ページは https://angularjs.org です。本体ソースは GitHub で公開されています。

API リファレンスは、上記の公式ページのうち、こちらにあります。

https://docs.angularjs.org/api

あまり知られていない(当たり前すぎる?)かも知れませんが、API リファレンスの各ページの [View Source] ボタンを押すと、本体ソースの該当箇所にジャンプしてくれます。

スクリーンショット_2014-12-01_16_48_14.png

挙動が分からない場合は、ググるより 本体ソースの実装を見たほうが早い と個人的には思います..


AngularJS の書籍

とりあえずアナログ的に書籍で学習したいという場合、日本語のものは(私が知る範囲では)、次の2冊があります。

日本語での情報がまだ少ないので、手っ取り早く網羅的に知識を得るには、書籍を読むのも一つの手かと思います。


IDE(エディタ)は何がいいか



  • AngularJS に限らないのですが WebStorm が使いやすいです。最新バージョンは 9 です。



    • AngularJS もサポートされているので、コード補完とか効きます。

      スクリーンショット 2014-12-01 16.02.34.png




    • 有償(パーソナルライセンス で一年目は$48)。


      • お試し期間があるので、とりあえず触って評価してみてもいいかと。

      • ただ、これから JavaScript をやっていくなら高い金額ではない、と思います。





  • ほかの IDE は良く知りません^^;



そもそも JavaScript を知る

AngularJS といえど、そもそも JavaScript が分かっていないと、読んだり書いたりするのは辛いです。下記は AngularJS に特化した書籍ではないですが、JavaScript 全般の知識をサクッと獲得するのにいいなと思った書籍です。

まずは安定のオライリー本から。

もしくは手前味噌ですが、この記事はサーバサイドエンジニアが JavaScript を理解するきっかけとなればと思い、書きました。

サーバサイドエンジニアでも押えておきたい!コアJavaScriptの基本知識

ムック本だと、技術評論社から出版されている下記の2冊が、昨今の JavaScript の周辺環境を掴むのに最適かと思います。初学者向けに書かれているので、サクッと読めます。



  • フロントエンドエンジニア養成読本


    • タイトル通り、フロントエンドの周辺環境について網羅しています。




  • JavaScriptエンジニア養成読本


    • 本書では AngularJS でなく Backbone.js を詳細に紹介していますが、AngularJS についてもその特徴や、Backbone.js との比較など書いてあります。

    • CoffeeScript(代替言語。私は AngularJS はこれで書いてます)や Grunt(タスクランナー)の記事もあり、とてもわかり易かったです。

    • そのほかコラム等で、JavaScirpt 界隈の歴史的経緯やトレンドなど補足してあり、これから JavaScript やるぞ!という方には参考になります。




おわりに

これから AngularJS を始める方の参考になれば幸いです。あと、最近は AngularJS は下火?のような気がしなくもないですが、向き/不向きの問題かなあと個人的には思っており、バリバリのフロントエンドをやる場合は、確かに本体の黒魔術実装や、他のライブラリと組み合わせられない、という問題は気になるところかなと。

(あと Angular 2.0 では、随分かわりそう?なので、寿命が長いことが今から分かっているアプリケーションだと躊躇するかな。)

ただバリバリでない場合は、サクッとアプリケーションが作れますし(まあ、そのためのフレームワークですし)、私自身も何か実現する場合は、AngularJS は選択肢の一つとして持ち続けて、その都度、何を使うのが判断していくかな、という感じですかね。

なにはともあれ、選択肢は多いにこしたことがないので、実際に AngularJS を触ってみて、得手不得手や使いドコロを知るのも、勉強や経験として悪いことではないかなと思います!