あの時angularjsと出会った僕らは

39
あの時 A ngular JS と出会った僕らは 春の JavaScript 祭り

Upload: muyuu-fujita

Post on 28-May-2015

1.723 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: あの時AngularJSと出会った僕らは

あの時AngularJSと出会った僕らは春のJavaScript祭り

Page 2: あの時AngularJSと出会った僕らは

{{about-me}}

名前

所属

職種

Facebook

Twitter

Blog

Mail

むゆう

フリーランス

IT僧侶, Webエンジニア

http://facebook.com/muyuu/

http://twitter.com/anticyborg/

http://stackstock.net/

[email protected]

Page 3: あの時AngularJSと出会った僕らは

jQueryつらい(´・_・`)

Page 4: あの時AngularJSと出会った僕らは

{{DOM-select}}

$(function(){ $(‘.news .btn’).on(‘click’, function(){ $(this).parent() .next() .find(‘.item’) .addClass(‘splash’); } });

Page 5: あの時AngularJSと出会った僕らは

密結合になりがち

Page 6: あの時AngularJSと出会った僕らは

{{view-update}}$(function(){ $(‘.btn’).on(‘click’, function(){ // 何か色々処理

view_update(obj); } $(‘.prefList’).on(‘change’, function(){ // 何か色々処理

view_update(obj); } });

Page 7: あの時AngularJSと出会った僕らは

いろんなとこでDOMの更新関数

Page 8: あの時AngularJSと出会った僕らは
Page 9: あの時AngularJSと出会った僕らは

なんだかなー(´・_・`)

Page 10: あの時AngularJSと出会った僕らは
Page 11: あの時AngularJSと出会った僕らは

HTMLがテンプレート

Page 12: あの時AngularJSと出会った僕らは

{{html-template}}

<body ng-app> <h1>Hello! I’m {{‘muyuu’ + ‘!!’}}</h1> </body>

Page 13: あの時AngularJSと出会った僕らは

<body ng-app> <p>1 + 2 = {{1 + 2}}</p> </body>

{{html-template}}

Page 14: あの時AngularJSと出会った僕らは

双方向データバインディング

Page 15: あの時AngularJSと出会った僕らは

{{2way-data-binding}}

<body ng-app> <div> <label>name:</label> <input type=‘text’ ng-model=‘myName’> </div> <p>Hello! I’m {{myName}}!!</p> </body>

Page 16: あの時AngularJSと出会った僕らは

<body ng-app> <div> <label>name:</label> <input type=‘text’ ng-model=‘myName’> </div> <p>Hello! I’m {{myName}}!!</p> </body>

{{2way-data-binding}}

Page 17: あの時AngularJSと出会った僕らは

<body ng-app> <div> <label>name:</label> <input type=‘text’ ng-model=‘myName’> </div> <p>Hello! I’m {{myName}}!!</p> </body>

{{2way-data-binding}}

Page 18: あの時AngularJSと出会った僕らは

repeat

Page 19: あの時AngularJSと出会った僕らは

{{repeat}}

<body ng-app=‘itemApp’> <ul ng-controller=‘itemCtrl’> <li ng-repeat=‘item in items’> <p>name: {{item.name}}</p> <p>price: {{item.price}}</p> </li> </ul> </body>

Page 20: あの時AngularJSと出会った僕らは

filter

Page 21: あの時AngularJSと出会った僕らは

{{filter}}

<body ng-app="itemApp"> <input type="text" ng-model="query"> <ul ng-controller="itemCtrl"> <li ng-repeat="item in items | filter:query"> <p>name: {{item.name}}</p> <p>price: {{item.price}}</p> </li> </ul> </body>

Page 22: あの時AngularJSと出会った僕らは

<body ng-app="itemApp"> <input type="text" ng-model="query"> <ul ng-controller="itemCtrl"> <li ng-repeat="item in items | filter:query"> <p>name: {{item.name}}</p> <p>price: {{item.price}}</p> </li> </ul> </body>

{{filter}}

Page 23: あの時AngularJSと出会った僕らは

<body ng-app="itemApp"> <input type="text" ng-model="query"> <ul ng-controller="itemCtrl"> <li ng-repeat="item in items | filter:query"> <p>name: {{item.name}}</p> <p>price: {{item.price}}</p> </li> </ul> </body>

{{filter}}

Page 24: あの時AngularJSと出会った僕らは

routing

Page 25: あの時AngularJSと出会った僕らは

{{routing}}

デモ

Page 26: あの時AngularJSと出会った僕らは

まとめ

Page 27: あの時AngularJSと出会った僕らは

{{まとめ}}

• 双方向データバインディングやばい

• 双方向データバインディングやばい

• 双方向データバインディングやばい

Page 28: あの時AngularJSと出会った僕らは

{{まとめ}}

• htmlがテンプレートになるから分かりやすい

• 双方向データバインディングやばい

• ルーティング機能でSPA

• htmlが進化する!

Page 29: あの時AngularJSと出会った僕らは

おわりに

Page 30: あの時AngularJSと出会った僕らは

世はJavaScript戦国時代

Page 31: あの時AngularJSと出会った僕らは

次から次に新しい ライブラリが出てくる

Page 32: あの時AngularJSと出会った僕らは

「そんなにいっぱい覚えてる 時間ねーんだよ!!」

Page 33: あの時AngularJSと出会った僕らは

「今まだjQueryクラスのシェアがないから投資時間が無駄になるかもだし様子見」

Page 34: あの時AngularJSと出会った僕らは

わーかーるー

Page 35: あの時AngularJSと出会った僕らは

でもそれじゃ何も変われない

Page 36: あの時AngularJSと出会った僕らは

1歩踏み出せば必ず 何かの力になる

Page 37: あの時AngularJSと出会った僕らは

それを続けていけば 戦国時代を勝ち抜く力もつく

Page 38: あの時AngularJSと出会った僕らは

触り始めるのに敷居が凄く高いライブラリはそんなにない

Page 39: あの時AngularJSと出会った僕らは

Don’t think Write code