Reactチームによる新ツールは、新しいReactアプリをセットアップする際の苦痛を軽減するのが狙いだ。
Dan Abramov氏がブログで「Create React App」を紹介した。開発者はこのツールを使うことで、シングルコマンドで新しいReactアプリを動かすことができる(ビルドプロセスと依存関係を含む)。これは公式にサポートされるReactアプリの作成方法だが、まだEmber CLIやAngular CLIと同じ感覚で使えるわけではない。
開発者は次の3つのコマンドで新しいReactアプリを動かすことができる。
npm install -g create-react-app
create-react-app hello-world
npm start
ここにはモダンなReactアプリでよく見られるBabelとWebpackコマンドは見られない。Abramov氏は「一般的に、Reactエコシステムは膨大な数のツールと結びついている」ために、このツールを作ったという。
こうしたツールを組み合わせるには、各ツールにある程度の経験が必要です。たとえ経験があっても、すぐに、わずかな非互換性、満たされないpeerDependencies、判読不能な設定ファイルとの戦いに巻き込まれるでしょう。こうしたツールの多くはプラグインプラットフォームであり、互いの存在について直接関知しません。ツールを組み合わせるのはユーザー任せです。また、各ツールはそれぞれ独立して成長し、変更されるため、チュートリアルもすぐに時代遅れになります。
理論的には、Reactを始めるのに、それほど多くのものは必要ない。だが、製品レベルのアプリを構築しようとすると、いろいろなものが必要になってくる。時間が経つにつれ、ReactコミュニティはデフォルトのツールチェーンとしてBabelとWebpackに依存するようになった。だが、これら2つのテクノロジーは開発者を悩ませてきた。例えば、Babelはインストールしただけでは何もしてくれない。Andrew Stuart氏はBabelをデフォルトでは役に立たないと説明する。彼はBabelの目的を見直して、次のように言っている。「Babelが間違ったことをしているわけではありません、ただ低レベルのツールでありたいだけなのです。私に言わせれば、それを土台にして構築すればよいのです(そうすべきなのです)」
経験豊かなReactデベロッパーであれば、ビルドプロセスを理解して、それらをうまく動かせるだろう。この新しいツールはそれ以外の人たちを支援するもので、React経験のない人たちが素早く始められるようにする。ツールが合わなくなってきたら「イジェクト」機能を使うことで、ツールの厳格さから離れて、自分のやり方でやることができる。Redditユーザーのa_simple_pieはこうコメントした。
「イジェクト」は本当にこのツールのキラーフィーチャーです。私が最初にやりたかったのはSASSのサポートを追加することだったので、イジェクトできるのは素晴らしいことでした。
Create React Appはまだ完全なCLIツールになっていない。Abramov氏が言うように「1週間のハッカソンプロジェクトで作られた」ことを考えればわかるだろう。テストのサポート追加といった機能強化が計画されている。彼らは急いでたくさんのことをやりすぎないよう注意しているが、Abramov氏は「徐々に多くのユースケースをカバーするよう、デフォルトを改善する」と言っている。
このツールに関する詳しい情報は、プロジェクトのGitHubページにある。
Rate this Article
- Editor Review
- Chief Editor Action