miyasakura’s diary

日記です。

React Native (with Expo)で開発してみた感想メモ

記憶が薄れる前にメモ。一人でガガガっと開発してみた感想です。

  • React Native のよかったところ
    • React、Typescriptで開発できるのは非常に楽
    • Android / iOSの差分や分岐も許容範囲
    • Android / iOSでの開発経験もそれなりに役に立った
  • Expoのよかったところ
    • こういうのあるかな、と思うと大体Expoが提供しているライブラリでカバーされている
    • ExpoでのPush Notificationの実装は一瞬だった
    • 開発中のものをテスターに利用してもらうのが楽だった
    • ビルド〜リリースまでの一連の手順もわかりやすい
      • TestFlightの使い方とか証明書の扱い方などを忘れていてもなんとなくで全てやってくれる
  • React Native のダメだったところ
    • Webの Material-UI に相当するMaterial Designライブラリがなかった
    • 適当に作るとパフォーマンスはあまりよくなさそう
      • 初期なら問題ないが、すぐにパフォーマンスチューニングのフェーズが来そう
    • (expoでしか使っていないのでまだダメ出しするほどよくわかっていない)
  • Expoのダメだったところ
    • 次は早速Bare WorkflowになりそうなのでManaged Workflowは初期の初期くらいしかメリットはないかも
    • expo clientをダウンロードしてもらって使い方を教えたりは結局手間だし、テストユーザーの人にあまり利用してもらえなかった
      • もし良ければ使ってみてください、くらいだとExpoのアプリアイコンを日常的にタップしてもらうのは難しい
    • Over the air updateはきちんと実装しないとアップデートのタイミングをうまく制御できない
      • 素直にストアからのバージョンアップで良いなと思った
  • ExpoとFlutterで悩んでExpoを選択したのは正解だったか
    • Expoは開発からリリースまでのワークフロー全体をカバーしているので、アプリ開発をよくわかってない人がリリースまで漕ぎ着けるのが早い
    • 開発費も開発期間も少ない今回はExpoを選んで正解だった
    • アプリ開発の知識があまりなくてリリースまで時間がない人、開発リソースが極端に少ない場合はExpoを使ったReact Native、それ以外の場合はFlutterのが最終的に幸せになれる気がしている

他にも思いついたら追記するかも。