BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース React代替ライブラリInfernoが1.0になる

React代替ライブラリInfernoが1.0になる

原文(投稿日:2017/01/10)へのリンク

ReactライクなJavaScriptライブラリInfernoがバージョン1.0になった。モダンなJavaScriptライブラリReactに慣れ親しんでいるけれども、そのサイズに不満を抱いている開発者に解決策を提供するものだ。

Infernoのうたい文句は「モダンなユーザーインターフェイスを構築するための、超高速ReactライクJavaScriptライブラリ」だ。ReactのコンセプトやAPIは好きだけれども、React Nativeといった付加機能すべてを必要としていない人にとって、このライブラリは意味がある。Infernoはブラウザーおよびサーバーと一般的なDOMのためだけに作られている。ネットワーク上の配信サイズは、Reactが45 KBなのと比較して、Infernoは9 KBしかない(いずれもgzipしたサイズ)。おかげでパース時間が大幅に短縮され、それによってモバイル機器におけるパフォーマンスが改善する。

チームは実際のパフォーマンスにフォーカスし、そこに多くの時間を費やしてきた。創始者のDominic Gannaway氏はインタビューで、Infernoのパフォーマンスに対する取り組みについて説明している。

deoptimisations("deopts"、JITコンパイラがコンパイルできないところ)が最小限に抑えられるよう、徹底的にチェックしました。ベンチマーク、プロファイリングツール(IRHydra 2、Chrome Dev Tools)、コードベースの様々な部分にあるスパイクの書き直しによって、Infernoチームは絶えずdeoptsを取り除く方法を見つけました。

次のコードスニペットを見れば、InfernoがいかにReactと似ているかわかるだろう。

class MyInfernoTest extends Component {
    componentDidMount() {
        setInterval(() => {
            this.setState({
                time: (new Date()).toLocaleString()
            });
        }, 200);
    }
    render() {
        return <h2>
            Current time: <span>{this.state.time}</span>
        </h2>
    }
}

リリースを発表する記事で、コアチームのエンジニアであるLuke Sheard氏は、このプロジェクトのGitHubでのスター数は、2016年の150から急増して、年末には約7,300になったと述べた。現時点では8,000を超えている。Inferno固有のコード変更をすることでパフォーマンスが改善されるが、適切な互換性ライブラリを使うことでReactの交換部品として使うこともできる。

今年、チームはフレームワークのエコシステムを拡大したいと考えているが、これまで導いてくれたGannaway氏の助けなしにやっていかなくてはならない。2016年の終わりに、Gannaway氏はFacebookにジョインしてReactに取り組んでいることを発表した。Sheard氏によると、Gannaway氏の役割が小さくなってもInfernoは続いていく、そして、コアエクスペリエンスと様々なライブラリサポートを改善することにフォーカスするという。

2017年、Infernoは引き続き、コア機能の改善、できるだけ素早いバグ修正、コミュニティに対するサポートと指針の提供にフォーカスします。新しいライブラリに対応し、Infernoの適応範囲とモジュラリティを幅広いユースケースへ広げていきます。これまでに様々なモジュールが移植されていますが、コミュニティのさらなる取り組みによって、さらに拡大していくでしょう。

Infernoはより知られているReactの代替ライブラリPreactとともに新参者だ。どちらもReactの代わりに使えるが、それぞれのフォーカスには違いがある。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT