Create React Native Appの紹介
本日、Create React Native App を発表します。これはReact Nativeプロジェクトの開始を大幅に簡単にする新しいツールです。このツールはCreate React Appのデザインに強く影響を受けており、FacebookとExpo(旧Exponent)の協力の成果です。
多くの開発者は、React Nativeの現在のネイティブビルド依存関係のインストールと設定、特にAndroid向けで苦労しています。Create React Native Appを使えば、XcodeやAndroid Studioを使用する必要がなく、LinuxやWindowsを使ってiOSデバイス向けの開発ができます。これはExpoアプリを使用して実現されており、ネイティブコードを一切コンパイルすることなく、純粋なJavaScriptで書かれたCRNAプロジェクトを読み込んで実行します。
新しいプロジェクトを作成してみてください(yarnがインストールされている場合は、適切なyarnコマンドに置き換えてください)。
$ npm i -g create-react-native-app
$ create-react-native-app my-project
$ cd my-project
$ npm start
これによりReact NativeのPackagerが起動し、QRコードが表示されます。Expoアプリでそれを開くと、JavaScriptが読み込まれます。console.log
の呼び出しはターミナルに転送されます。標準的なReact Native APIのほか、Expo SDKも利用できます。
ネイティブコードはどうなりますか?
多くのReact Nativeプロジェクトには、コンパイルが必要なJavaやObjective-C/Swiftの依存関係があります。Expoアプリにはカメラ、ビデオ、連絡先などのAPIが含まれており、Airbnbのreact-native-mapsやFacebook認証などの人気ライブラリもバンドルされています。しかし、Expoがバンドルしていないネイティブコードの依存関係が必要な場合は、おそらく独自のビルド設定が必要になるでしょう。Create React Appと同様に、CRNAでも「eject」がサポートされています。
npm run eject
を実行すると、react-native init
が生成するものと非常によく似たプロジェクトが得られます。その時点から、react-native init
で始めた場合と同様にXcodeやAndroid Studioが必要になり、react-native link
でライブラリを追加することができ、ネイティブコードのコンパイルプロセスを完全に制御できるようになります。
質問やフィードバックはありますか?
Create React Native Appは現在、一般利用に十分なほど安定しています。そのため、皆様の使用体験についてぜひお聞かせください。Twitterで私を見つけるか、GitHubリポジトリでissueを開いてください。プルリクエストも大歓迎です!