去年の秋頃にAndroidに対応したReact Nativeで勉強も兼ねて
Android,iPhoneアプリを作成しました。
・公式ページ
http://facebook.github.io/react-native/
今回は開発の中で困ったことなどを少しだけ書こうと思います。
開発環境など
・ソース管理
GitHub
・OS
Mac
Windows
・開発ツール
SourceTree
Atom
Genymotion
・ReactNativeのバージョン
0.16
Mac,Windows両方で開発
メイン端末でDELLを使っています。
MacはMacBookAirを持っています。
昔からWindowsを仕事で使っていたために開発スピードに雲泥の差があります 笑
ということでGitHubでソース管理しながら家ではWindows、
外ではMacで開発しようとしていましたがここで少し困ったことに。
MacとWindowsでプロジェクトのファイルが少し違う
ReactNativeのプロジェクトを作成する場合には以下のコマンドを使用します。
(react-native-cliがインストールされていることが前提です)
react-native init AwesomeProject
Androidアプリから作成していました。
この問題にぶつかった時はReactNativeが0.15の時だったので今は違うかもしれませんが
WindowsとMacでプロジェクトを作成した時に最初に準備されるファイルが少し違いました。
そのため、Windowsで作ったファイルをそのままGitHubにpushして
Macでpullして動かそうとするとそのままではうまくいきません。
仕方ないのでGitHubにWindows、Macそれぞれプロジェクトを作成してGitHubにpushして
メインソースを片方で編集したらもう一つの方にもマージするという少し面倒くさい形になってしまいました。
パッケージの中でWindows、Macどちらかしか動かない場合もある
これは作成者側の環境によるかもしれません。
まだ成長中のため、こういったことに何度もぶつかります。
どこが悪いか見つけて作成者側に連絡してあげると喜ばれます。
一緒に作ってる感がでて楽しいところでもあります。
また、まだ開発に足りないものがあったりするので
自分で作って名をあげるチャンスでもあるかなと感じました。
WindowsでAndroidのapkを作成するコマンドでエラー
Androidフォルダ直下で以下のコマンドでapkの作成を行えます。
./gradlew assembleRelease
しかし、Windows環境ではサーバー起動に失敗してエラーになるなどの問題にぶつかりました。
エミュレーターでのテストは問題なく行えます。
色々調べてみると回避策が載っていたり、現在修正中とのIssueが上がってたりしました。
(version0.16で修正したとありましたが未確認です。)
結果として
ReactNativeの出荷作業等、メインになるところはMacで行う。
(iPhoneアプリもありますし、FaceBookの方々もメインはMacで開発してそうなので)
出先などでちょこっと修正したり機能追加したりする場合に
Windows用のプロジェクトも作っておくと便利。