5月から初めてReactNativeで作り始めたアプリ「ほいみん」をリリースしました!
「ほいみん」とは
保育園の情報を地図上で検索、閲覧、口コミが投稿が出来るアプリです。
なぜ作ったのか
ちょうど子供が産まれた事と、保活の大変さは良く聞いていた事、保育園情報の検索アプリがあまり無いように見られた事などもあり、だったら自分で作ってみようと思い作りました。
ReactNativeを選んだ理由
最初はSwiftでiOS用のアプリとして作り始めました。
そんな中、cookpadの以下の記事を見かけたのがReactNativeを使う事を決めたきっかけです。
React Nativeで作った新アプリについて(5日間連載)
WebのReact自体は、ここ最近2つ程個人で作ったサイトで使用していたため、Reactに対する敷居が下がっていたのも背中を押したのだと思います。
ReactNativeで作ってみた感想
よく見かけるメリット、デメリットかもしれませんが、一応自分でも。
メリット
- viewを確認するためのビルドが要らない
- WebのReactの知識がそのまま使える
- iOSとAndroidの両方を一気に作れる
とにかく、1のメリットが凄い。気軽に修正出来る。HotReloadをやってると凄く楽。
3は今回正味1ヶ月ぐらいでの開発だったけど、この期間でiOSとAndroidを両方作れと言われたら無理な気がする。サーバ側のAPIも有るし。
デメリット
- パッケージのバージョンを上げた時に、問題が起きると調査と修正の手間が凄い(時がある)
- デザインに凝る場合はちょっと面倒くさい(そもそもCSSとか適当に書いているので…)
1については、気軽に「yarn upgrade」をしたら死ぬ可能性が高いので、パッケージ個別でupgradeした方が良さげ。
2は完全に自分がcssを手抜きしたがる人だから。webならbootstrap一択だし。
まとめ
自分が個人で開発するアプリは、デザインとか凝る事は無いし(そもそも凝るスキルも無い)、速度が求められるような物も多分作らないし、ReactNativeを結構使っていくんじゃないかなと思った。
ただ、最近Facebookが色々と問題を起こしていたり、今回のアプリでも使わせて貰ったパッケージの製作者であるAirbnbがReactNativeから撤退したりと心配な面は有るけど、この簡単さは捨てがたい。
もしReactNativeが駄目になりそうになったら、Flutterにでも移行すれば良いかな。
参考情報
アプリで使用しているパッケージ
"axios": "^0.18.0",
"native-base": "^2.5.1",
"react": "16.3.1",
"react-native": "^0.55.4",
"react-native-communications": "^2.2.1",
"react-native-config": "^0.11.5",
"react-native-device-info": "^0.21.5",
"react-native-elements": "^0.19.1",
"react-native-firebase": "^4.2.0",
"react-native-maps": "^0.21.0",
"react-native-scrollable-tab-view": "^0.8.0",
"react-native-star-rating": "^1.0.9",
"react-native-streetview": "^0.1.4",
"react-native-vector-icons": "^4.6.0",
"react-navigation": "^2.3.1",
"realm": "^2.7.2"
コメント