12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

React Nativeで開発するならExpoでするのが素晴らしい3つの理由

Last updated at Posted at 2020-05-07

React Nativeでアプリ開発をする際、Expoで開発するかしないかで、その後の開発が大きく変わっていきます。

イメージとしてはおそらく
Expoあり → お手軽だけど制限あり
Expoなし → 自由にカスタマイズできるけど難易度高い

上記のようなイメージをもっている方が多いのではないでしょうか。
筆者は両方の開発環境の構築、アプリ作成をした経験がありますが結論から言うと、

Expoの導入一択

です。

ではなぜその結論に至ったのか、紹介してきます。

開発環境の構築スピードが天と地の差ほど違う

Expoなし

「nodeインストールして、watchman入れて、cocoapods入れて、initでプロジェクト作成して、、、。あ。TypeScriptも入れて」

Expoあり

npm install -g expo-cli expo init プロジェクト名 Done!」

Expoのインストールをしてプロジェクトを立ち上げるだけで終わりです。
expo initをしたら、TypeScriptでするか、などなど、セッティング内容を選択していくので非常に楽です。

Expoなしの場合、nodeやwatchmanなど既に入っている場合もありますし、cocoapodsも入れなくても動かすことはできるので、「開発環境の構築スピードそんなに変わらないよね」と思われる方もいるでしょう。しかし、2つのコマンドだけで、パッと、開発環境が構築できるExpoの手軽さは強みだと感じます。

実際に開発に入るまでの苦労が違う

Expoなし

「このパッケージ入れたいから、pod install パッケージ名、Podfileにも設定内容書くべきものは書いて、Xcode側でも設定して、、、」

Expoあり

expo install パッケージ名 Done!!」

PodfileやInfo.plistファイルの編集など、ExpoなしだとSwiftに関わってくるようなファイルもいじっていく必要があるので、一つのパッケージやツールを使いたいと思っていても、設定が複雑で時間がかかります。

その点Expoありなら、インストールすれば設定完了なのですぐに使用できます。react-native-linkの設定もいりません。断然開発スピードが違ってきます。

ビルド環境が一発で整う

Expoなし

「iOS用の環境走らせて、Android用の環境も走らせて、あ、WEB用にもビルド環境も作んなくちゃ」

Expoあり

yarn start でAndroid、iOS、WEBの環境走らす準備OK → Done!!!」

ExpoがなくてもiOS、Androidの環境走らすことは簡単です。大きな利点としては、ビルド環境の構築をyarn startで一発でできるのと、その際生成されるQRコードを読み取れば実機確認も簡単にできる、というところです。

特にWEB用のビルド環境がExpoありだと初めから作成されているのはかなり助かります。

終わりに

といっても、Expoだと制限がかかって使用できない、ようなツールもあります。例えばreduxを通してデータの永続化をする、redux-persist はまだExpoありでは使用できません。筆者が知らないだけで他にもまだまだあるかもしれませんが、付けたい機能が実装できない、といったことはほぼほぼないでしょう。

エンジニアなら、Expoなしで自由にカスタマイズしていきたい、と思う方が多いと思いますが、それならばSwiftやKotlinを使用して開発していく方が高価値のスキルを身に付けれる分、断然お得だと思います。

アプリ開発したいけど、JavaScriptで簡単に、スタートアップだからMVP、PMFのサービス開発をスピーディーにお手軽に、ということなら、ExpoありのReact Nativeで開発が断然コスパが良いので、Expo入れるか入れないかで迷っている方がいたら、この記事が参考になれば良いです。

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?