2016-04-16 GDG神戸 Angular 2ハンズオン勉強会にでた
『GDG神戸 Angular 2ハンズオン勉強会』に参加した。
Angular 2 hands on の内容としては ng-japan/ng2-hands-on-seed を流す感じ。
個人的な Angular 2 への感想を書く。Angular 2 は Web Component を考慮しつつ、無難につくられている印象。Component / DI は ES2015 class / ES next Decorator を前提にしている。時間をかけた割に新しくない感じが否めない。TypeScript を普通に使える点は良い。template まわりは Vue.js で十分という感想 (ただ Vue.js に scoped style あったっけか……) 。digest loop まわりがどうなっているかは知らない。個人的には AngularJS (1) を採用するくらいなら Angular 2 を採用してもいいとは思う。ただ Angular 2 を使うくらいなら React の波に乗るほうが良いとか、DI とか要らないので Vue.js で……という気持ちも変わらない。
いくつかの質問をしたので書いておく。
rxjs って angular 2 でどれくらい使われているんだろう。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
http まわりと内部的に subject が使われているらしい。ふむ。
@Input は props っぽいものなのかな。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
この認識で大丈夫っぽい。
なぜ要素名を個別の Component 側で指定するのだろう。 Component を使う側で指定しちゃダメなのだろうか……。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
Web Component にあわせた形。ちなみに scoped style は Chrome なら native で、shadow root 使って動くっぽい。
Component で private な property にしても、 JavaScript に変換されてから見えるので template 側からは参照できる。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
private
な変数は TypeScript から JavaScript に変換した後の利用を考えて _
を prefix にしておくほうが良いかもしれない。
これって @Component の providers で指定した @Injectable が DI される感じなのかな。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
親 Component で指定していれば子 Component では指定不要という動き、個人的には分かりづらい印象がある。providers
は Service
(@Injectable
) 、 directives
は Component
で使う。
template に [] や * や () などが使われるのは静的解析を考慮。valid な HTML で書くこともできるらしい。#gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
b-html/b-html のような外部の template を使いたい場合もあるかも。template まわりの挙動は Vue.js と似た感じになっている。解析を考慮して invalid な HTML も OK にしている感じ。
会の感想としては次のとおり。
疑問を投げたら誰かがすぐ解決してくれる環境。最高っぽい。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日
個人的には↓が一番の衝撃だった。
らこさん、金髪少女じゃなかった。 #gdgkobe #ng_kyoto
— bouzuya (@bouzuya) 2016年4月16日