お仕事でもスマホアプリを開発しており、個人開発でも作ってみようと思いました!4,5年前に学生だった頃からSwiftとUnityではアプリを開発していましたが、一般に後悔するほどではなかったためAppleのデベロッパーアカウントは止めていました。久しぶりの課金です!
今回の開発は全てYouTubeで配信しているのでよかったら見てみてください!
Expoを選んだ理由
React Nativeは以前から気になっていて、コマンドでデプロイできるらしいExpoを使ってみることにしました。お仕事で実際に使っていたのも理由の一つです。
「ネイティブコードを書かなくても動く!」
というキャッチコピーにも惹かれました。
Expoを使ってみて
Expo Goでの即時デバッグ体験が最高 のはずが…
まず感動したのが Expo Go アプリ。QRコードを読み取るだけで、手元のスマホにすぐアプリが表示されます。コードを変更すると即座に反映されるので、開発効率が抜群です。同じwifiに繋いでいればどの実機でもデバッグできます!
認証機能を入れたくなった時の壁
開発を進めていく中で、「Google認証を入れてみよう」と思い、FirebaseのAuthenticationを使って実装を試みました。
しかし、ここで問題が発生。
Google認証にはネイティブコードが必要
→ Expo Goでは動作しない
Expo Goは非常に便利ですが、ネイティブモジュールを必要とする機能はサポートされていません。つまり、ビルドして実機で検証する必要があるのです。
この段階で、便利だったExpo Goの「即時デバッグ体験」は使えなくなりました。これは少し残念でした。
スマホから歩数を取得するなどのネイティブコードが必要になる部分でExpo Goが使えなくなるのは知っていたのですが、まさかの認証機能の段階でネイティブコードが必要になるとは思っていませんでした。
Expoのビルドとデプロイは超シンプル
とはいえ、Expoの真価はここからです。ビルドやデプロイがすべて CLIコマンドで完結します。
eas build --platform ios
eas submit --platform ios
などのコマンドを打つだけで、iOS用やAndroid用のアプリをビルドできます。ビルドしたアプリは、TestFlightで確認することができ、サブミットして審査に通るとApple Storeに公開されます。とても簡単です。
Expoの無料プランだとビルド
実行時に時間がかかることもあります。
starting in about 30 minutes...
30分くらいかかることもあるのでビルドは気長に待つ必要があります。
eas update
コマンドでJavaScriptの変更をすぐに反映できます。おそらく1,2分もかからないです。
iOSビルドにはApple Developer登録が必要
iOSアプリを実際にビルドするには、Apple Developer Programへの登録が必須です。年額 12,000円(99ドル) ほどかかるので、少しハードルがあります。
個人事業主になるとこのくらいの金額は払った方が良いとすぐに判断できるようになりました。
Appleの審査
アプリを公開するにはAppleの審査が必要です。スクリーンショットを撮って説明文を追加しプライバシーポリシーをとこ下に書く必要があります。
大変な印象がありましたが、Canvaを使ってスクショを作り、AIを使って文章を書くとすぐに終わりました。審査も20時間くらいで終わり夜中にアプリが公開されていました。
2回目以降の審査は初回より早く、4,5時間で公開されました。これは日によって変わりそうです。
感想
Expoを使ってみて、パソコンのシミュレーターでデバッグする分にはとても使いやすいです。ネイティブコードを変更した時のデバッグは10分くらいかかりますが、それ以外はサクサク開発できます。
本番環境へのデプロイもコマンドでできて簡単なのでReact Nativeでスマホアプリを作る場合はExpoはかなり良いと思います!
AIが優秀で上手く使うと数日でアプリができると思います!
コメント