BT

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

| 作者: David Iffland フォローする 4 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2017年1月25日. 推定読書時間: 3 分 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT