Facebookが新しいオープンソースプロジェクトでReactの敷居を低くする

BERLIN, GERMANY - FEBRUARY 24:  The Facebook logo is displayed at the Facebook Innovation Hub on February 24, 2016 in Berlin, Germany. The Facebook Innovation Hub is a temporary exhibition space where the company is showcasing some of its newest technologies and projects.  (Photo by Sean Gallup/Getty Images)

FacebookのReactは、JavaScriptで手早くアプリケーションとそのユーザーインタフェイスを作りたいときのための、オープンソースのライブラリだ。ただし、実際の話はこれほど単純ではない。Reactでアプリケーションを作るためには、JavaScriptのほかにも、いろんなツールを勉強しなければならないのだ。

FacebookはReact用の自社のツールについて語っているが、でも個人のデベロッパーやスタートアップの多くは、Facebookのような企業が持ってるリソースがない。

そこで、もっと多くの人がReactで仕事ができるために、同社は今日(米国時間7/22)、新しいオープンソースプロジェクト”Create React App”(Reactアプリケーションを作ろう)を立ちあげた。それは、あるハッカソンから生まれたプロジェクトで、Reactでアプリケーション開発を始めるために必要なツール集合を、たった一つのコマンドラインツールにまとめたものだ。

[Marcはあとちょっとで彼のReactの”hello world”アプリケーションを実装できるところだった]〔実際には複雑すぎてできなかった〕

FacebookのDan Abramovが今日の発表声明で次のように述べている: “従来、このようなプロジェクトはうまく行かないことが多かった。しかし先日、Christopher [Chedeau]がぼくに、複数の’React CLI’(Reactコマンドラインインタフェイス)を作り始めたけど、Facebookには無視された、と言った。コミュニティにも、同じような目標のツールが存在している。でも今のところは、それほど人気がない”。

Create React App(すごい分かりやすい名前だ!)の場合は、構成ファイルというものがない。環境のセットアップは、自動的に行われる。しかも、デベロッパーが手にするのは単一のツールだ。だから依存性も単一だ。しかし内部的には、JavaScriptやReactのエコシステムの既存のツールをたくさん利用している(Webpack, Babel, ESLint, などなど)。

このツールがユーザーをロックインしないことも、強調されている。この種のサービスでは、よくあることだが。ユーザーはつねに単一のコマンドを発行し、それが基本的にやるのは、ユーザーの構成を‘イジェクト’して、依存性を新しいプロジェクトへ構築することだが、プロジェクトはCreate React Appには依存しない。

Abramovはこう書いている: “‘イジェクト’によっていつでもCreate React Appの居心地の良いセットアップを去ることができる。コマンドを一つ発行するだけで、ビルドのすべての依存性、構成、そしてスクリプトがユーザーのプロジェクトへ移動する。その時点でユーザーは必要なものを何でもカスタマイズできるが、しかしそれはわれわれの構成をフォークして自分の道を進むことだ”。

これによって初心者がReactを使い始めるのが容易になるが、しかし経験豊富なデベロッパーでも、この新しいツールをは試してみたくなるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))