Web Frontend 経験者がExpo Tutorialやってみた
[:筆者について]
[:React Native とは]
[:Expoとは]
筆者について
関西の大学4回生。 インターン先で、主にFrontendの開発業務を担当。Next.js Typescriptを使っている。Native application は Flutterをやろうとしたが、うまくはじめられなかった。Native Applicationについては何も知らない
React Nativeとは
- React を使ってiosやAndroid, Desktop, Web のアプリを開発できる
- 上記の様々なプラットフォームで動作するアプリケーションを一つのコードで完結するもの
- 様々なプラットフォームで動作する公式が提供してくれているコンポーネントがある。 View, Text,Imageとか....
- 既存のNative ApplicationのCodeをラップすることで既存のネイティブコードと共存できる(この辺はよくわからなかった)
- ホットリロードによって開発体験が損なわれない
- Facebook社(現 Meta社)が 2015年にリリースして以来、Facebook社のアプリケーションをはじめとしたアプリケーションでも使用されている example: discord
Expoとは
React Native公式で、React Nativeの始め方として Expo Goと React Native CLIでの開発環境の構築が紹介されているが、 Native Applicationの開発に慣れていない人におすすめな環境として紹介されているもの。( Library ? React でいうところのNext.jsのような感覚なのかな?)
- React NativeのLibrary
- Pizza Hatなどのモバイルアプリにも使われている
- React Nativeとの違いとしては簡単に開発できるように修正されている点
- Expoが提供するEASというサービスを使うことでアプリへの登録、更新などを簡単にしてくれる、無料で使える
- React Native CLiからの移行も簡単
- 内部配布などができる?
- windowsでも IOSの開発が簡単にできる
- 公開後のアプリサイズを減らしてくれる
- three.js や ネイティヴアプリのコードもExpoで動作可能
- EAS Buildを使えば xCodeや Android Studioを Installしなくても アプリの開発と アプリのBuildができる