SlideShare a Scribd company logo
2014.6.8
GDGKobe Tada Satoshi
ただ さとし
Twitter : @pinmarch_t
Facebookアプリ開発の本
書いたりしてました(数年前)
Bioinformatics関係の仕事しています
(Perl, R, RStudio, etc.)
日常(業務)ではjQuery使ってます
https://angularjs.org/
はじめてのAngularJS!
本買いました!
はじめてのAngularJS!
本買いました!
(けど…実は1週間じゃなくて数日です)
話すこと
• AngularJSの特色
• AngularJSとjQueryと比べてみて
話さないこと
• 外部サーバとの通信
• テストについて
• デバッグについて
とりあえず重要なポイント
“angular.js”を読み込む
“ng-app属性”で有効にする
• <html>で指定する説明が多い
“{{}}”で変数の内容を表示する
 つまり、メインは後から内容を書き換えること
“note”(https://note.mu/)で使用例を
確認できる
 Controller
• Controllerがあることで挙動の管理をしやすい
• $scope
 View
• {{}}(double-curly syntax interpolation)
• テンプレート(へ)の埋め込みが楽
 Model
• データはJSオブジェクトに従う
 データをテンプレートへ流し込む感覚は
PerlのTemplate Toolkitや
Railsのレイアウトテンプレート(.erb)
ルーティングの機能も持っている
• module.config([ ‘$routeProvider’,
function($routeProvider) {
…
ここでURLとController、Viewを対応付ける
…
} ])
• $location
 window.locationをラップしているサービス
• $route
 URLによりビューを切り替えるサービス
 AngularJSが提供または独自に作成できる
シングルトンオブジェクト
 アプリケーションの機能の遂行に必要な処理を
提供する
 AngularJSの提供するサービスは”$”から始まる
 独自のサービス
• Module#provider(name, object or function)
• Module#factory(name, function)
• Module#service(name, constructor)
 データの取得処理などを実装
 独自に定義できる要素や属性
 挙動を設定することができる
• DOMの挿入や削除(スタイルの変更)
module.directive(‘focus’, function() {
return {
link: function (scope, element, attrs) {
element[0].focus();
}
};
});
 <button focus>フォーカスあり</button>
module.directive(‘hello’, function() {
return {
restrict: ‘E’,
template: ‘<div>こんにちは</div>’,
replace: true
};
});
 <hello></hello>
module.directive(name, function factory(injectables) {
return {
restrict: string, # ディレクティブの限定先(要素、属性 etc.)
priority: numeric,
template: string,
templateUrl: string,
replace: bool,
transclude: bool,
scope: bool or object,
controller: function ($scope, $element, $attrs, $transclude),
require: string, # 依存しているディレクティブ
link: function (scope, iElement, iAttrs),
compile: function (tElement, tAttrs, transclude) {
return {
pre: function (scope, iElement, iAttrs, controller),
post: function (scope, iEement, iAttrs, controller)
}
}
};
});
 AngularJSにはjqLiteというjQueryのサブセット
が組み込まれている
 jQueryを使用することも可能
Angular 1.2 only operates with jQuery 1.7.1 or above. However,
Angular does not currently support jQuery 2.x or above. ~from
FAQ~
 『AngularJSアプリケーション開発ガイド』に
はdatepicker(jQuery-ui)のラッパーの作成につ
いて紹介されている
 AngularJSはMVCフレームワーク
 “ng-app”ディレクティブ、コントローラ
 ルーティング機能を保有
サーバサイド(Railsなど)で行っていたようなレイア
ウトテンプレートの処理をJavaScriptで簡便に行う
ことができ、
1つのHTML中に複数のコントローラを設定しそれぞ
れの処理を区分けして記述することが可能
リファレンス : https://docs.angularjs.org/guide

More Related Content

PDF
自分で自分を追い込む 1週間で何とかする
PPTX
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
PDF
日曜プログラマーとigoogle先生
ODP
Djangoアプリの実践的設計手法
PDF
Djangoのススメ
PPTX
Git hubで雑誌記事を執筆するのは間違っているだろうか
PDF
Gws 20141024 gradle_intro
PDF
Wantedly - 世界一"いいね!"される 求人サイトの作り方
自分で自分を追い込む 1週間で何とかする
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
日曜プログラマーとigoogle先生
Djangoアプリの実践的設計手法
Djangoのススメ
Git hubで雑誌記事を執筆するのは間違っているだろうか
Gws 20141024 gradle_intro
Wantedly - 世界一"いいね!"される 求人サイトの作り方

What's hot (19)

KEY
Yapc2012資料
PPTX
Django learning Part2
PDF
Gradle handson
PDF
もう一度Kotlinの話をしよう #ndsmeetup4
PDF
OSS Product feat. Gradle
PDF
TeachmeBizを支えるフロントエンドのアーキテクチャと品質担保
PPTX
jQueryで気をつけてほしいこと
PDF
Gradleどうでしょう
PDF
映画にでてくるハッカーになりたい - YAPC Asia 2010
PPTX
React + FLUX + Redux + Redux Saga のお話
PDF
Meteorというフレームワーク
PDF
Djangoフレームワークの紹介 OSC2015北海道
ODP
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
PDF
WantedlyがまだSendGridを使いこなしてない話
PDF
KotlinつかってQiitaクライアント作った時の話
PDF
会社に Github導入した話
PDF
Djangoフレームワークの紹介
PDF
Google Apps Scirpt勉強会 #1
PPT
delayed_jobの自動再起動
Yapc2012資料
Django learning Part2
Gradle handson
もう一度Kotlinの話をしよう #ndsmeetup4
OSS Product feat. Gradle
TeachmeBizを支えるフロントエンドのアーキテクチャと品質担保
jQueryで気をつけてほしいこと
Gradleどうでしょう
映画にでてくるハッカーになりたい - YAPC Asia 2010
React + FLUX + Redux + Redux Saga のお話
Meteorというフレームワーク
Djangoフレームワークの紹介 OSC2015北海道
怠惰な私がプログラミングするときに重要だと考えているたった1つのこと
WantedlyがまだSendGridを使いこなしてない話
KotlinつかってQiitaクライアント作った時の話
会社に Github導入した話
Djangoフレームワークの紹介
Google Apps Scirpt勉強会 #1
delayed_jobの自動再起動
Ad

Viewers also liked (7)

PDF
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
PDF
Cannon.jsで3D物理演算
PDF
ngJapan報告会
PDF
AngularJSでの非同期処理の話
PDF
今後のWeb開発の未来を考えてangularJSにしました
PDF
Google Prediction APIを使う前に知っておきたい統計のはなし
PDF
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
AngularJS x Chrome Apps (2014.08.23 #gdgkobe event)
Cannon.jsで3D物理演算
ngJapan報告会
AngularJSでの非同期処理の話
今後のWeb開発の未来を考えてangularJSにしました
Google Prediction APIを使う前に知っておきたい統計のはなし
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
Ad

Similar to AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe) (20)

PDF
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
PDF
SwaggerとAPIのデザイン
PDF
Alt01-LT
PDF
Ng mtg#3
PDF
Angular#Kanazawa
PDF
React+fluxを導入した話
PDF
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
PDF
コンパイラ指向ReVIEW
PPTX
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
PPTX
JaSST'16 Tokyo モバイルセッション
PPTX
Our Track to Modern Angular
PPTX
簡単AngularJS(関西AngularJS勉強会)
PDF
AngularJS 概説
PDF
AngularJSからReactに移ったケースの話
PDF
Java web application testing
PDF
AngularJS で ハイスピードSI
PDF
PythonのGUI_2018 with NSEG
PDF
AngularJSについて
PPTX
AngularJSを触ってみた
PDF
Getting start with knockout.js
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
SwaggerとAPIのデザイン
Alt01-LT
Ng mtg#3
Angular#Kanazawa
React+fluxを導入した話
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
コンパイラ指向ReVIEW
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
JaSST'16 Tokyo モバイルセッション
Our Track to Modern Angular
簡単AngularJS(関西AngularJS勉強会)
AngularJS 概説
AngularJSからReactに移ったケースの話
Java web application testing
AngularJS で ハイスピードSI
PythonのGUI_2018 with NSEG
AngularJSについて
AngularJSを触ってみた
Getting start with knockout.js

AngularJSでwebアプリを作ってみた!(2014/6/8 GDGKobe)