- 奥野 賢太郎
- 京都市出身
- ChatWork株式会社
- ng-kyoto代表, ng-japanスタッフ
- 無い
- 今日発表するアプリの実装に全ステータスを振った
- すまん
- Angular 2ではどういうアーキテクチャがいいの?
- Angular 2でFlux作ってみた
- IndexedDBでアプリを作ってみた
- Serviceに値を置いていって、DIしてその値を使う
- Angular 1でいうSharedServiceの概念
- MVCってあちこちでゴチャゴチャにデータフローが発生して煩雑だからFluxという一方向アーキテクチャが提唱されたのでは?
- Angular 2はコンポーネント指向かつ高速
- イベント中心に設計できる(正確に言うとRxJSによるstream)
- Rxこじらせられる
- あれはReactのためのもの
- React勢の中でもこじらせてる派閥のもの
- なんかやけに話を複雑にしてそうで疑心暗鬼
- みんな流行ってるという言葉だけで飛びついてない?
- あれで多くのユースケース想定したときスケールしねぇ…って思ったんだけど私だけ?
- とはいえ、詳しくないのでmizchiさんに聞いたら詳しいと思った
- http://victorsavkin.com/post/137821436516/managing-state-in-angular-2-applications
- まぁわかる
- わかるけど、やっぱり話を複雑にしすぎてね?
- 本質の部分だけパターン化すればよくね?
- http://azu.github.io/slide/2016/child_process_sushi/almin-javascript-architecture.html
- ドメイン駆動系のアーキテクチャ
- 先日のchild_process_sushiで教えてもらった
- まったくの偶然だけど、私が2週間前から作っていたAngular 2 Fluxの構想と本質がとても似ていた
- Angular 2用Fluxフレームワークを作った
- React用って腐るほどあるでしょ
- Angular 2用もきっと腐るほど出るよ(もう出てる?知らない)
- 自分の経験をベースにSavkin's FluxとAlmin.jsを参考にしている
- もうちょい安定させたらOSS化
- 自分がいろいろなアプリで使う用 && 晒し用
- 入社8ヶ月の業務での知見と地雷経験がふんだんに活かされている
- 何かの参考になれば
- View -> Action -> Store
- ここからはコード見てもらったほうが早い
- (よくあるincrementsの例を見せる)
- (フレームワーク側の実装と、extendsの使用例を見せる)
- (Viewからの発火)
- (データフローと逆転のコールバックフロー)
- (型保護とGenerics)
- (incrementsのイベントを多重発火させたときの挙動を見せる)
- (complete subjectの挙動を見せる)
- http://caniuse.com/#feat=indexeddb
- Web SQLなんてなかった
- オブジェクトに対する高速なインデックス処理と検索を可能にするローカルデータベース
- (importのインタフェースをDirectiveで作った話を見せる)
- (importを見せる)
- (カテゴリの変更を見せる)
- (ソースで解説)
- ChangeDetectorRef
- styles