2016-09-01 Raynos/mercury をためしている
Raynos/mercury を試している。ほとんど書かずに読んだ。
mercury は JavaScript で書かれた framework だ。"A truly modular frontend framework" と説明されている。 mercury 自体は 100 行ほどの JavaScript で、残りは外部の npm package に切り出されている。直接それらの npm package を使うこともできるので truly modular というわけだ。
ぼくが 2016-01-26 をはじめ何度も書いている Matt-Esch/virtual-dom も mercury を構成する npm package だ。2016-08-13 で紹介した Raynos/main-loop も mercury を構成する npm package だ。以下は package.json
の dependencies
から deprecated や sample で使われているものを除外したものだ。
- Raynos/dom-delegator
- Raynos/main-loop
- Raynos/observ
- Raynos/observ-struct
- nrw/observ-varhash
- Raynos/value-event
- Raynos/vdom-thunk
- Matt-Esch/virtual-dom
- Raynos/xtend
ざっと見た感じ main-loop
/ dom-delegator
/ observ
/ virtual-dom
が中心的な感じがする。state の変更監視関連で observe
や observ-*
を使い、それらを dom-delegator
を使いつつ、virtual-dom
に投げる。main-loop
がそれを RAF : Request Animation Frame 単位で描画するよう制御する。
もうすこし試すつもりだ。できれば何かをつくってみたい。ただ読んでいるだけだと頭に入らないので、TypeScript で再実装してみるつもりだ。