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を使い始めるのが容易になるが、しかし経験豊富なデベロッパーでも、この新しいツールをは試してみたくなるだろう。