こんにちは。趣味グラマのNobuです。
本日、Expoで開発していた「きせかえ電卓」をiOS、Androidそれぞれにリリースしました!
「きせかえ電卓」をリリース!
なぜ作ったのか?
今回このアプリを作ったのは、Expoの勉強が主目的でした。
なぜ電卓かと言えば、過去にSwiftで電卓iOSアプリを作った事があったため、ロジック的なところは分かっていたため、早めに作れるかなと思ったからです。
素のReactNativeと比べてExpoの良かったところ
素のReactNativeと比べて、Expoを使って良かったのは以下の点になります。
ライブラリの追加で悩まされる事が少なくなった
素のReactNativeでは、ライブラリによっては「react-native link」を行う必要があり、この時
- そのまますんなり上手くいく
- なぜかXcodeにライブラリが追加されないので、結局手動で設定する
- なぜか上手くいかないので、GoogleやStack Overflowの旅に出る事になる
といったパターンがあり、2と3がそれなりの頻度で発生します。(少なくとも私は発生しました)
Expoを使っていると、今回の電卓アプリのような単純なアプリであれば、Expo自体に予め入っているライブラリでほぼ事が足りるため、ライブラリ追加で悩まされる事はありませんでした。
全体のバージョンアップが楽
素のReactNativeの時は、ReactNative自体のバージョンを上げた時、使用ライブラリ含めて色々とエラーが出てしまい、修正する手間が本当に大変でした。なので、ReactNative自体のバージョンアップをする際は、心の準備が必要でした…。
しかし、Expoのバージョンアップは非常に楽でした。package.json内のバージョンを書き換えて、yarn installするだけでほぼ完了しました。
まぁ、たまたま今回のバージョンアップは変更範囲が小さかったからかもしれませんが…。
ビルド作業が楽といえば楽
Expoでapkやipaを作る場合は、プロジェクトディレクトリで以下のコマンドを打つだけです。
#iOS
expo build:ios
#Android
expo build:android
OTA(Over The Air)配信は便利かもしれない
まだそんなに使ってませんが、OTAはスマホアプリ開発で最も(?)面倒なストアリリース作業をすっ飛ばせるので楽なのかもしれません。試しにやってみた時はちょっと感動しました。
ただ、この仕組みがなぜAppleやGoogleから見逃されているのかが分からない…。
素のReactNativeと比べてExpoの良くなかったところ
良くなかったところは、今回のアプリでは特にありませんでした。
電卓アプリ程度では、その辺には気付け無いのかもしれません。
しいてあげれば、ビルドする時にローカルでやるより多少待たされるぐらいでしょうか。
まとめ
Expoを使った開発は、素のReactNativeに比べて色々と楽になる面はありました。
今後もアプリ開発でReactNativeを使う場合は、Expoを使う事が第一候補になりそうです。
ただ、最近、Flutterの勢いがすごい伸びている気がするので、次のアプリはFlutterを勉強して取り組んでみようか悩んでいたりします。
コメント