Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ReactNativeとExpoを1ヶ月触ってみてわかったこと #ReactNativeJP

hiji
May 21, 2021

ReactNativeとExpoを1ヶ月触ってみてわかったこと #ReactNativeJP

hiji

May 21, 2021
Tweet

More Decks by hiji

Other Decks in Programming

Transcript

  1. React で使っていたライブラリが使える(制限付き) React Query やReactHookForm のようなReact 用のライブラリを、React Native でも使うことができた。 ただ、ブラウザ依存の機能が使われていると使えなかったり、何かしらの制限はあったりする。

    React Native で使えるかどうかは、ドキュメントに記載があったり誰かがIssue で聞いていたりする。 React Query の場合だと以下のように「開発用ツールを除いてすぐに使える」 とドキュメントに記載があり、 実際にまったく同じように使えたので、かなり助かった。 React Query is designed to work out of the box with React Native, with an exception to the devtools, which are only supported with React DOM at this time. Storybook なんかも使えるのかなと思って調べたりしたのだが、こちらは制限が多くてWeb と同じようには使 えなさそうだったので、踏み込むのはやめた。
  2. Expo を使うと実機で簡単に確認できる アプリ開発中に実機で確認するのってどうやるんだろうと思っていたら、Expo を使って簡単に確認すること ができて、体験がとても良かった。 1. Expo で起動 2. 表示されたQR

    コードを実機で読む(端末にはExpo Go をインストールしておく) 3. Expo Go が起動されてJavaScript などをロードしてくれる 4. 動作確認ができる (はじめて使ったときは思わず声が出た)
  3. Expo だと起動が速い(使わないと遅い) 自分の端末だとReact Native CLI (Expo 無し)でiOS 用にビルドすると30 分くらいかかり、その間はマシンパ ワーが持っていかれて(ファンも全開)でほとんど作業できなくなってしまう。

    一度起動するとFast Refresh でコード変更を即時反映してくれるが、たまにうまくいかなかったり、ライブラ リをいろいろと試しているときは使えなかったりした。 それに比べると、Expo での起動はかなり速く、検証時の効率がとてもよかった。
  4. バージョンアップがつらい Expo のBere Workflow で開発していたが、Expo をバージョンアップしたら次から次へとエラーが発生して、め ちゃくちゃつらかった。 Expo にはupgrade コマンドが用意されているがそれだけではうまく動かず、ググったりIssue

    を見ながらエラ ーを順番に解決していくことになった。(おかげでExpo の設定まわりについて理解は進んだが) React Native 自体もまだバージョンアップで破壊的変更が普通に発生するようなので、バージョンアップする ときはある程度の覚悟が必要になりそう。 (バージョンアップがつらかったとき、色々なIssue で「バージョンアップしたら動かなくなった!」みたいな のが出てくるので、みんな大変なんだなぁと思うとちょっと気持ちが安らいだ)