JSer.info 5周年記念イベントに行ってきた(LTもした) #jserinfo

jser.connpass.com

jser.info

すごく楽しかったです!5周年、おめでとうございます!

尊敬

僕も尊敬しています。

僕がWebの技術者になって、2年ほど経ってしまいました。
その前にいた業界と比べてWebの変化は早くて、最初のキャッチアップは苦労しましたが、js界隈に関してはJSer.infoがあるおかげで継続的なキャッチアップができています。

azuさんの情報収集力凄すぎる。

内容

どれも面白かった。(内容はJSer.infoでまとめられているので、ご参照ください。)

個人的な収穫としては、armorik83さんのAngular2の話と、 id:saneyuki_s さんのRxJSの話から得たものが大きかった。

speakerdeck.com

上半期中にAngular2とRxJSの知見を得よう。

さよならあいいい8

id:hasegawayosuke さんによるIE8のすごい機能についての発表。 最高に面白かった。

僕もLTさせてもらいました

www.slideshare.net

id:mizchi さんが Increments社でRailsでモダンJSな構成をどうやって実現して行っているか、というお話をしていた。

それを聞いて、弊社ではこうやってるよー、というのを話したくなったので飛び入りでLTさせてもらった。
(普段いんたーねっとの向こう側でよく見かける人たちがいっぱいいたので緊張しました。)

内容的には去年のAdvent Calendarで書いたのと一緒。

qiita.com

雑に「Reduxは使わずにflux/utilのReduceStore使うぞ!」みたいな事も書いてみた。

このあたりは口頭で説明したので、補足しておく。

Reduxは良いアーキテクチャを提供してくれる感はあるのだけど、構成がかなりロックインされてしまうのがつらいところだと思っていて、具体的にはStoreはReduxがシングルトンとして提供する(つまり自前では実装しない)オブジェクトになり、それを監視するContainerというコンポーネントを持つ単位を作らなければならない、というところが大きいところかなー、という感じ。

これはStoreの単位とそれ監視する場所が制限されてしまうという事で、既存の実装を徐々に置き換える上では足かせになりうると思っている。

flux/utilのReduceStoreはreduxからの影響を受けて実装されたものだけど、いい感じでReduxとの中間地点を提供してくれる。

先に述べたとおり、ReduxにおいてはStoreを実装しない。
その代りにreduce関数を定義し、更新前の値と更新後の値を関数内で処理すれば、Storeが勝手に更新されることになる。(このreduce関数の考え方が、Reduxの素晴らしいところだなー、と思います。)

ReduceStoreはRedux同様のreduce関数を提供するのだけど、この場合はStoreである自分自身の中にreduce関数を持つことになる。
本来のFluxから外れずに、Reduxのreduce関数をいただける感覚。すごく使いやすい。

Flux Utilsについては、以下の記事が詳しい。(これもazuさんだ)
はてなブックマーク検索を作りながらFlux Utilsについて学ぶ | Web Scratch

さー

Angular2とRxJSやるぞー