最新のコアアーキテクチャFiberを導入した「React 16」が公開

 米FacebookのReact開発チームは9月26日、UI構築のためのJavaScriptライブラリの最新版「React 16.0」を公開した。新しいコアアーキテクチャFiberを土台とし、多数の機能強化が加わっている。議論になっていたライセンスの変更も行われた。

 React 16.0は2016年4月に公開されたバージョン15に続く最新版。新しいコアアーキテクチャ「Fiber」をベースに構築され、公開APIを変更することなく書き直しを行なったという。Fiberによりレスポンス性を改善し、将来的には非同期レンダリングなども実現していくとしているが、バージョン16ではまず、エラー処理の改善、コンポーネントのrenderメソッドから配列を返すなどの新機能を実現した。

 エラー処理も改善した。これまではランタイムにエラーが生じると「broken state」となってページの再ロードが必要となっていたが、React 16では「Error Boundry」コンポーネントによりサブツリー内でエラーをキャプチャしてその場でフォールバックUIに表示するなど、エラーに対する耐性を強化した。

 また、カスタムDOM属性のサポートとして、認識できないHTMLおよびSVGの属性はそのままDOMに渡すするようになった。これにより属性のホワイトリストの多くが削除され、コンパクトになったという。

 サーバーサイドレンダリングも書き直した。ストリーミングのサポートにより、クライアントに高速に送信できるようになるなど高速化を実現した。

 配布パッケージについても改善され、サーバーレンダリングの性能を強化する目的でReactをバンドルする必要はなくなったとしている。15.6.1よりもコンパクト化を進め、合計でファイルサイズは32%少なくなっているとのこと。

 なお、Facebookは7月、オープンソース団体Apache Software Foundation(ASF)がReactを禁止リストに入れたことを受け、9月に入りReactなどのオープンソース技術のライセンスをMIT Licenseとして公開する計画を発表していた。React 16はMIT Licenseで公開する初のメジャーリリースとなる(バージョン15.6.2もMIT Licenseの下で公開済み)。

React
https://facebook.github.io/react/