Expo
Expoとは
ReactNativeでの開発をすぐ簡単に行える統合開発環境(IDE)。
開発者がすぐ効率よく開発を行えるように以下の3種の神器 + 1が用意されている。
Expoプロジェクトをサクッと作成したり、動作検証、ビルド、デプロイなどなんでもできちゃうCLI。
Expoで作ったアプリをMacのエミュレータで動作させる時とかも、このExpo Goがインストールされて、その上で動作確認できてる。 Expo Goで動作させれる機能やAPI、ライブラリなどが詰め込まれたパッケージ。 なんかビルドしたり、ストアにアップロードしてくれたりする奴らしい。
CahtGPTさんに聞いた
Expoの特徴的な点は、Expoクライアントアプリを通じてネイティブ機能に直接アクセスできることです。一部のReact Nativeパッケージは、Expoのクライアントアプリ上で直接動作するため、CocoaPodsなどの依存関係管理ツールを使用する必要がありません。
利用ポイント
つまりプロトタイプ的にすぐ作りたい時に利用する。
開発、動作テスト、ビルドまで、ま〜じですぐできます。
トレードオフ
使える機能に制限がある。
1. ネイティブコードは触れない。ReactNativeでは自分でネイティブコードも触れるけどExpoは無理。
例えば、ReactNative製のライブラリをインストールして使おうと思っても、それがExpo SDKと互換性が無いならだめ。 3. Expo SDKは最新のReactNativeよりも少し前のバージョンをサポートしてるんだとか。 てことで、最新のExpo使っても、最新のRNを利用できない。
ためになる資料たち
Tips
hr.icon
Expoから拡張したいって時は...
expo ejectを使って、Bare workflowに移行していく。
ただし!Bare workflowにしたらバグるのもあるらしい....w。
ExpoにはReactNative開発時による見る「ios」「android」ディレクトリは必要ない
そういうの必要なくビルドとかできる。煩わしいよね。
注意.iconただし、Bare workflowになると必要になる。というか勝手に作られる。
「expo install」の意味
どうやら、Expo SDKと互換性のあるバージョンをインストールしてくれるらしい。なのでこれでインストールしておけば損なしかも。
The npx expo install command will pick a version of the library that is compatible with your project and then use your JavaScript package manager (such as npm) to install it.
Expo SDKに含まれてる機能たち