Mithril (JS Framework) を ES6 で書く

Mithril という軽量な JavaScript Framework を友人に勧められたので使ってみた。フレームワークとしてとてもシンプルなので、公式サイトの説明を読めばすぐ使い始められる。

ES6 で書く場合、 Mithril ES6 Components(gist) をベースにすればOK。と公式に書いてあった。

ES6 で書いてトランスパイルした後のファイルが、 React を使っていた場合だと 120KB くらいになってたが(もしかしたら手元の設定がダメなだけでもっと小さく出来るのかもしれない) Mithril を使ったら、24KB くらいになった。

公式サイトの Performance を見ると、ローディングもレンダリングもかなり速いようだが。 (公式URL: Mithril)

React のように仮想DOMを内部で持っていて、データバインディングして使えるので、React で書く感覚で書ける。試しにReact 使って書いたものを置き換えてみたらすぐ置き換えられた。

実装はシンプルで、JSの機能さえ要求を満たしていれば古いブラウザでも動くらしいので、追加でライブラリをロードすればIE7ですらいけるらしい。

あまり使い込んでいないけど、AJAXでファイルを読み込むのがフレームワークに組み込まれてて、 Promise のインターフェイスで実装されてるので個人的にはかなり使いやすい。尤も、AJAXでファイルロードするのは標準API使って書いても短いので、その他の部分でどうなってるかは分からないけれど。

Awesome Elixir with 🌟 の JS はこんな感じ。 JSX 的なライブラリも出てるようで、そっち使った方が見やすいかも。

Mithril (JS Framework) を ES6 で書く