この夏、AngularJSを始めよう。Let’s try AngularJS!!

Facebook創業者のザッカーバーグ氏が「HTML5に賭けたのは失敗」と言ったのは今や昔。
現在では既に多くの方がHTML5でのアプリケーション開発を行っています。

AngularJS
弊社でもHTML5を用いたハイブリッドアプリケーションの開発を盛んに行っております。クオリティーの高いHTML5アプリケーションを作るために、週末を利用してJavaScriptフレームワーク「AngularJS」の勉強会を開催しております。今回はAngularJSのご紹介と勉強会で学んでいる内容を少しアウトプットしたいと思います。

AnglarJSってなに?

まず、AngularJSについて簡単にご紹介します。AngularJSとは上記でも記述したように、JavaScriptのMVCフレームワークです。MVCのMはmodel(モデル),Vはview(ビュー),Cはcontroller(コントローラー)を表します。MVCフレームワークであるということは、開発者間での作業分担を明確にすることができる、コンポーネントの再利用性が高まる、保守性が高まるといったメリットを享受することが出来ます。
JavaScriptのフレームワークはたくさんありますが、その中でもAngularJSは実装規約が多くあり、実装者間で大きな差が出ないような設計となっております。つまり大規模開発に有用なフレームワークです。また、Googleが主体となって開発が進められているため、今後もさらに便利になっていくだろうと考えられています。
その他、大きな特徴はDI(依存性の注入)デザインパターンが用いることが出来る点です。この辺りについては不勉強なので、別の機会に詳しくアプトプットしていきたいと思います。

注射器

さらに詳しい紹介は下記を参考にしてみてください。
https://app.codegrid.net/entry/angularjs-1

ディレクティブの使い方

それでは今回の勉強会で学んだことをさらっとご紹介します。
AngularJSにはディレクティブ(directive)とよばれる機能があります。
ディレクティブを用いることで、DOM要素に対して処理を注入することが出来ます。
ng-のついているものは基本的にディレクティブと呼ばれるものです。

今回はサンプルとしてパン屑リストを作ってみました。
実際にソースコードを見てきましょう。

・HTML

 

2行目のng-app=”myApp”はタグの中がAngularJSのテンプレートを表しています。

7行目のng-controller=”indexCtrl”を用いることで、指定したコントローラと紐付けることが可能になります。

8行目にng-repeat,11行目~16行目にng-switchが登場しており、同時に用いられています。
breadcrumbs.getAll()で下記のJavaScriptファイルで定義されたJSON形式のデータを取得し、
その一つ一つの値をbreadcrumbの中に入れています。

10行目のon=”$last”で最後に出力されるDOM要素に操作を加えることを示しています。

12行目でng-switch-when=”true”つまり、最後のDOM要素であるときの操作を、
13行目でデフォルト時、つまり最後のDOM要素以外の操作を記述しています。

 

・JavaScript

 

これでパン屑リストの出来上がりです!!

 

パン屑リスト

なんとなくAnglarJSの機能をご理解頂けましたでしょうか。
まだまだ私自身勉強不足ですが、今後もAngular勉強会の内容を発信していきたいと思います。

谷尾和是

WEB・スマホエンジニア (2014年 入社)WEBイノベーション事業部
宴ブログの運営者。最近はJavaでのWebアプリケーションの開発に専念。 ビジネスエンジニアになるべく、技術だけでなく、マーケティング、営業力、コスト感覚など様々な能力を鍛えている。ちなみに技術より英語が得意。
このエントリーをはてなブックマークに追加