AngularJS 入門
なんで AngularJS?
http://angularjs.org/ より。HTML は静的なドキュメントを記述するのには向いているが、動的なウェブアプリケーションを作るのには向いていない。
AngularJS はアプリケーションを作るのに必要な語彙を HTML に追加する。
→「HTML の語彙を拡張する」っていうところが jQuery とは違う感じがする。jQuery はあくまでも JavaScript のライブラリっていう印象だった。
jQuery v.s. AngularJS
同じことを jQuery と AngularJS とでやって比較してみる。テキストボックスに名前を入力すると「Hello ○○○○!」って表示される HTML。
jQuery
<!doctype html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> $(function() { var name = $("#name"); var greeting = $("#greeting"); name.keyup(function() { greeting.text("Hello " + name.val() + "!"); }) }) </script> </head> <body> <input id="name" type="text"> <h2 id="greeting">Hello John!</h2> </body> </html>
AngularJS
<!doctype html> <html ng-app> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script> </head> <body> <input type="text" ng-model="name"> <h2>Hello {{name}}!</h2> </body> </html>
AngularJS の方がずいぶんすっきりしている。
jQuery では「ドキュメントの準備が完了したら、処理の対象となる要素を探して、イベントリスナーをセットして…」と詳細な手続きを記述しなければならず、ネストが深くなることもしばしば。
AngularJS ではまず基本となる HTML を記述して、そこにデータバインディングについての記述を少しだけ足せば良い。
公式サイトでも言っていたけれど、一番重要な点は見た目が純粋な HTML と殆ど変わらないということ。
シンプルで、何が行われているのか理解しやすい。
思ったこと
「Angular = 痩せこけた」なるほど。まだここまでしか見ていないけれど、とても便利な印象。
よく使う手続きをシンプルにまとめるのがライブラリだけれど、JavaScript 全く書かずに動的なウェブアプリケーションを作れるのはすごい。
中のコードもしっかり読みたいと思った。
他にどんなことができるのかとても気になりました。
引き続き勉強します。