bouzuya.hatenablog.com

ぼうずやのにっき

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.jsondependencies から deprecated や sample で使われているものを除外したものだ。

ざっと見た感じ main-loop / dom-delegator / observ / virtual-dom が中心的な感じがする。state の変更監視関連で observeobserv-* を使い、それらを dom-delegator を使いつつ、virtual-dom に投げる。main-loop がそれを RAF : Request Animation Frame 単位で描画するよう制御する。

もうすこし試すつもりだ。できれば何かをつくってみたい。ただ読んでいるだけだと頭に入らないので、TypeScript で再実装してみるつもりだ。