ngjapan報告会

32
Angularが好き? ~ ngJapan総まとめ ~ @albatrosary http://albatrosary.hateblo.jp/ http://html5experts.jp/albatrosary/

Upload: fumio-sagawa

Post on 14-Jun-2015

1.028 views

Category:

Technology


2 download

DESCRIPTION

angular

TRANSCRIPT

Page 1: ngJapan報告会

Angularが好き? ~ ngJapan総まとめ ~

@albatrosaryhttp://albatrosary.hateblo.jp/ http://html5experts.jp/albatrosary/

Page 2: ngJapan報告会

佐川 夫美雄 HTML5 Experts.jp エキスパート html5j(スタッフ) AngularJS Japan User Group(スタッフ)(Fumio SAGAWA)

Page 3: ngJapan報告会

http://kagoshima.html5j.org/html5conference.2015/

Page 4: ngJapan報告会

http://ngjapan.org/

Page 5: ngJapan報告会

http://ngjapan.org/

Page 6: ngJapan報告会

New Router Pluralization and Gender support ng-animate update ng-message update ng-cookies update

Page 7: ngJapan報告会

リリースサイクル

Page 8: ngJapan報告会

Angularコミュニティ

10万人 1600ほどの新しいissueやPR 新しい200ほどのコントリビュータが新しいPRやissueを立てていたり、ドキュメントを修正するということを行っています

(二週間の間に)

Page 9: ngJapan報告会

HTML5ハイブリットアプリ用のUIフレームワーク Angularをベースにしている iOS, Androidをサポートしている 高速な動作

Page 10: ngJapan報告会
Page 11: ngJapan報告会

Angularのルーティングコンポーネントに対してマッピング

Page 12: ngJapan報告会

$routeConfigangular.model('example', [ 'example.goobye', 'example.welcame', 'ngAnimate', 'ngNewRouter' ]) .controller('AppController', ['$router', AppController]); AppController.$routeConfig = [ { path: '/', redirectTo: '/welcome' }, { path: '/welcame', component: 'welcome' }, { path: '/goodbye', component: 'goodbye' } ]; function AppController($router) { this.greeting = ‘Hello'; }

Page 13: ngJapan報告会

ng-link<body ng-app="example" ng-strict-di ng-controller="AppController as app"> <nav> <ul> <li><a ng-link="welcame">welcame</a></li> <li><a ng-link="goodbye">goodbye</a></li> </ul> </nav> <ng-viewport></ng-viewport> </body>

Page 14: ngJapan報告会

ngViewport

プレスフォルダに対しアクセス プレスフォルダの中はコンテンツに基づいて管理

Page 15: ngJapan報告会

Sibling RoutesAppController.$routeConfig = [ { path: '/', redirectTo: '/users/posts' }, { path: '/users/posts', components: { left: 'users', right: 'posts' } }, { path: '/posts/users', components: { left: 'posts', right: 'users' } } ];<nav> <a href="./users/posts">users then posts</a> <a href="./posts/users">posts then users</a> </nav> <div class="container"> <div ng-viewport="left"></div> <div ng-viewport="right"></div> </div>

Page 16: ngJapan報告会

マイグレーション- NewRouterは、Angular 1からAngular 2へのマイグレーションを簡単にする

Angular 1とAngular 2とで同じコンフィグレーションを使っていく 新しいRouterを使っていくことで一部はAngular 1で他の一部Angular 2で動く

Page 17: ngJapan報告会
Page 18: ngJapan報告会

ECMAScriptとは

JavaScriptの元となる仕様のこと DOMの仕様は入っていない 最近のブラウザはECMAScript 5をサポート そろそろ6の仕様が確定(現在RC2)

Page 19: ngJapan報告会

AtScriptとは

AtScript=ES6+A (A=Annotiosion, AnnotationはES6に含まれない) Super set of TypeScript

Page 20: ngJapan報告会

TypeScriptとは

TypeScriptはJavaScriptを拡張した言語 静的型付け ECMAScript6規格の文法を取り込み中 読みやすい変換後JavaScript Java, C#とかにやさしい言語仕様

Page 21: ngJapan報告会

Angular 2とTypeScript

TypeScriptに必要な機能が入る Angularチームが作りたいのはAtScriptではなくAngular本体 TypeScriptのスーパーセットを作るのが困難

Page 22: ngJapan報告会

なぜAngular 2を作ることにしたのか Angular 2はどういうものにあるのか いつ出てくるか

Page 23: ngJapan報告会

どのくらい使われてる?

Page 24: ngJapan報告会

Angular 2 - 機能Viewports New languages Web Components New template syntax Unidirectional data flow Ultra-fast change detection

Page 25: ngJapan報告会

Angular 2

生産性向上 パフォーマンス向上

Page 26: ngJapan報告会

パフォーマンス

Page 27: ngJapan報告会

https://angular.io/

Page 28: ngJapan報告会
Page 29: ngJapan報告会

https://angular.github.io/router/

Page 30: ngJapan報告会

vs React

ReactとAngular 2はゴールが一緒でアプローチが違うだけ AngularのチームとReactのチームはコミュニケーションをとっている

Page 31: ngJapan報告会
Page 32: ngJapan報告会

<ng-thanks>