Swift+Railsなスタックで7年くらいアプリ作ってきましたが、最近はReactNative+Firebaseに完全移行しちゃいました。Expo素敵すぎる...もっと早く手出しておけばよかった...
そこらへんの話はまた今度にして、ExpoSDK(v37)を勉強がてらさらっと眺めてみます。
AR
https://docs.expo.io/versions/v37.0.0/sdk/AR/
iOSのみ、three.jsのラッパー
Accelerometer
https://docs.expo.io/versions/v37.0.0/sdk/accelerometer/
端末の加速度を監視できる
Admob
https://docs.expo.io/versions/v37.0.0/sdk/admob/
モバイル広告「Google Admob」のラッパー
Amplitude
https://docs.expo.io/versions/v37.0.0/sdk/amplitude/
アナリティクスツール「Amplitude」のラッパー、Expoがサポートしてるからデファクトっぽいけど、個人的にはFirebaseAnalyticsを使いたい
https://amplitude.com/
AppAuth
https://docs.expo.io/versions/v37.0.0/sdk/app-auth/
認証基盤「OpenID」のラッパー、個人的にはFirebaseAuthを使いたい
http://openid.net/
AppLoading
https://docs.expo.io/versions/v37.0.0/sdk/app-loading/
アプリ初期ロード終わるまでスプラッシュ画面を表示しておくためのコンポーネント、アプリ内に埋め込んだ画像もCDN経由でダウンロードする必要があるため、これと組み合わせて使ったりする
Appearance
https://docs.expo.io/versions/v37.0.0/sdk/appearance/
端末の外観モード(ライトorダーク)を監視する
AppleAuthentication
https://docs.expo.io/versions/v37.0.0/sdk/apple-authentication/
「Sign In with Apple」のラッパー、SNSログインを使うアプリでは実装が必須です
Application
https://docs.expo.io/versions/v37.0.0/sdk/application/
アプリ名、BundleId、アプリバージョン、アプリビルド番号を取得できる
Asset
https://docs.expo.io/versions/v37.0.0/sdk/asset/
アセットのダウンロードができる、Expoアセット管理の仕組みはこちら
https://blog.expo.io/under-the-hood-offline-assets-in-expo-98614adcf9e5
Audio
https://docs.expo.io/versions/v37.0.0/sdk/audio/
録音の権限リクエスト、音声の再生、録音ができる
AuthSession
https://docs.expo.io/versions/v37.0.0/sdk/auth-session/
Webビューに飛ばしてOAuth認証ができる、個人的にはFirebaseAuthを使いたい、詳しくはこちら
https://docs.expo.io/guides/authentication/
AV
https://docs.expo.io/versions/v37.0.0/sdk/av/
音声の再生、再生の状態を細かく制御できる
BackgroundFetch
https://docs.expo.io/versions/v37.0.0/sdk/background-fetch/
アプリがバックグラウンドになった時にタスクを実行させる
BarCodeScanner
https://docs.expo.io/versions/v37.0.0/sdk/bar-code-scanner/
QRコードなどのバーコード読み込み
Barometer
https://docs.expo.io/versions/v37.0.0/sdk/barometer/
気圧センサー
Battery
https://docs.expo.io/versions/v37.0.0/sdk/battery/
残りバッテリー監視
BlurView
https://docs.expo.io/versions/v37.0.0/sdk/blur-view/
ぼかし、ナビゲーションバーとかタブバーとかモーダルの背景に使われる
Branch
https://docs.expo.io/versions/v37.0.0/sdk/branch/
DL流入経路計測ツール「Branch」のラッパー、個人的にはAdjustを使いたい
https://branch.io/ja/
Brightness
https://docs.expo.io/versions/v37.0.0/sdk/brightness/
画面明るさの設定、監視
Calendar
https://docs.expo.io/versions/v37.0.0/sdk/calendar/
端末のカレンダーにアクセス
Camera
https://docs.expo.io/versions/v37.0.0/sdk/camera/
端末のカメラを使う
captureRef
https://docs.expo.io/versions/v37.0.0/sdk/captureRef/
スクリーンショット撮影
Cellular
https://docs.expo.io/versions/v37.0.0/sdk/cellular/
通信キャリアとかを取得
Constants
https://docs.expo.io/versions/v37.0.0/sdk/constants/
Expoバージョンやアプリバージョン、app.jsonに書いた情報を取得
https://docs.expo.io/workflow/how-expo-works
Contacts
https://docs.expo.io/versions/v37.0.0/sdk/contacts/
端末の連絡先にアクセス
Crypto
https://docs.expo.io/versions/v37.0.0/sdk/crypto/
SHA256とかMD5などのハッシュ関数を使う
DateTimePicker
https://docs.expo.io/versions/v37.0.0/sdk/date-time-picker/
日付選択ピッカーUI
Device
https://docs.expo.io/versions/v37.0.0/sdk/device/
端末のOS、モデル名、OSバージョン等を取得
DeviceMotion
https://docs.expo.io/versions/v37.0.0/sdk/devicemotion/
端末の3次元の動きを監視
DocumentPicker
https://docs.expo.io/versions/v37.0.0/sdk/document-picker/
端末のドキュメントを選択するUI
ErrorRecovery
https://docs.expo.io/versions/v37.0.0/sdk/error-recovery/
アプリクラッシュ後再起動時の初期propsを指定できる
FacebookAds
https://docs.expo.io/versions/v37.0.0/sdk/facebook-ads/
Facebook広告ラッパー
https://docs.expo.io/versions/v37.0.0/sdk/facebook/
FacebookAPIの初期化とロギングラッパー、Graph APIを使うにはfetchで実装する必要あり
FaceDetector
https://docs.expo.io/versions/v37.0.0/sdk/facedetector/
画像から顔認識する
FileSystem
https://docs.expo.io/versions/v37.0.0/sdk/filesystem/
端末のファイル操作
FirebaseAnalytics
https://docs.expo.io/versions/v37.0.0/sdk/firebase-analytics/
FirebaseAnalyticsのラッパー
FirebaseCore
https://docs.expo.io/versions/v37.0.0/sdk/firebase-core/
app.jsonに書いたFirebase設定情報を取得、これ使う必要ある?
FirebaseRecaptcha
https://docs.expo.io/versions/v37.0.0/sdk/firebase-recaptcha/
FirebaseAuthの電話認証で使うreCAPTCHAのモーダル表示
Font
https://docs.expo.io/versions/v37.0.0/sdk/font/
カスタムフォントを読み込む
GestureHandler
https://docs.expo.io/versions/v37.0.0/sdk/gesture-handler/
タップとかスワイプとかのジェスチャー判定
GLView
https://docs.expo.io/versions/v37.0.0/sdk/gl-view/
OpenGLを使ってレンダリングする
GoogleSignIn
https://docs.expo.io/versions/v37.0.0/sdk/google-sign-in/
ネイティブでのGoogleログイン
https://docs.expo.io/versions/v37.0.0/sdk/google/
Webビューを使ったGoogleログイン
Gyroscope
https://docs.expo.io/versions/v37.0.0/sdk/gyroscope/
ジャイロセンサー
Haptics
https://docs.expo.io/versions/v37.0.0/sdk/haptics/
触覚フィードバック
ImageManipulator
https://docs.expo.io/versions/v37.0.0/sdk/imagemanipulator/
画像のリサイズ、回転、反転、切り取り
ImagePicker
https://docs.expo.io/versions/v37.0.0/sdk/imagepicker/
画像選択UI
InAppPurchases
https://docs.expo.io/versions/v37.0.0/sdk/in-app-purchases/
アプリ内課金
IntentLauncher
https://docs.expo.io/versions/v37.0.0/sdk/intent-launcher/
設定画面を開く
KeepAwake
https://docs.expo.io/versions/v37.0.0/sdk/keep-awake/
画面を表示したままにする
LinearGradient
https://docs.expo.io/versions/v37.0.0/sdk/linear-gradient/
グラデーション
Linking
https://docs.expo.io/versions/v37.0.0/sdk/linking/
URLスキーマを開く
LocalAuthentication
https://docs.expo.io/versions/v37.0.0/sdk/local-authentication/
フェースID、タッチID、指紋ID
Localization
https://docs.expo.io/versions/v37.0.0/sdk/localization/
文言ローカライズ
Location
https://docs.expo.io/versions/v37.0.0/sdk/location/
位置情報取得
Lottie
https://docs.expo.io/versions/v37.0.0/sdk/lottie/
簡単にアニメーションを組み込める「Lottie」ラッパー
https://airbnb.design/lottie/
Magnetometer
https://docs.expo.io/versions/v37.0.0/sdk/magnetometer/
磁力計
MailComposer
https://docs.expo.io/versions/v37.0.0/sdk/mail-composer/
メールアプリを開く
MapView
https://docs.expo.io/versions/v37.0.0/sdk/map-view/
マップビュー
MaskedView
https://docs.expo.io/versions/v37.0.0/sdk/masked-view/
ビューのマスク
MediaLibrary
https://docs.expo.io/versions/v37.0.0/sdk/media-library/
メディアライブラリにアクセスする
NetInfo
https://docs.expo.io/versions/v37.0.0/sdk/netinfo/
ネットワークの状態取得
Network
https://docs.expo.io/versions/v37.0.0/sdk/network/
IPアドレスやMACアドレスを取得
Notifications
https://docs.expo.io/versions/v37.0.0/sdk/notifications/
プッシュ通知を受け取る
Payments
https://docs.expo.io/versions/v37.0.0/sdk/payments/
StripeやApple Payを使う
Pedometer
https://docs.expo.io/versions/v37.0.0/sdk/pedometer/
歩数計
Permissions
https://docs.expo.io/versions/v37.0.0/sdk/permissions/
端末権限の確認、リクエスト
https://docs.expo.io/versions/v37.0.0/sdk/print/
印刷
Random
https://docs.expo.io/versions/v37.0.0/sdk/random/
乱数生成
Reanimated
https://docs.expo.io/versions/v37.0.0/sdk/reanimated/
アニメーション
registerRootComponent
https://docs.expo.io/versions/v37.0.0/sdk/register-root-component/
アプリエントリーコンポーネントを指定
SafeAreaContext
https://docs.expo.io/versions/v37.0.0/sdk/safe-area-context/
セーフエリアを取得
ScreenOrientation
https://docs.expo.io/versions/v37.0.0/sdk/screen-orientation/
端末の向き監視
Screens
https://docs.expo.io/versions/v37.0.0/sdk/screens/
より低レベルな画面表示、主にライブラリが使ってる
SecureStore
https://docs.expo.io/versions/v37.0.0/sdk/securestore/
端末のセキュアなKVS
Segment
https://docs.expo.io/versions/v37.0.0/sdk/segment/
アプリアナリティクスサービス「Segment」のラッパー、初めて聞いた
https://segment.com/
SharedElement
https://docs.expo.io/versions/v37.0.0/sdk/shared-element/
画面トランジション
Sharing
https://docs.expo.io/versions/v37.0.0/sdk/sharing/
シェアダイアログ
SMS
https://docs.expo.io/versions/v37.0.0/sdk/sms/
SMS送信ダイアログ
Speech
https://docs.expo.io/versions/v37.0.0/sdk/speech/
音声読み上げ
SplashScreen
https://docs.expo.io/versions/v37.0.0/sdk/splash-screen/
スプラッシュの表示を制御
SQLite
https://docs.expo.io/versions/v37.0.0/sdk/sqlite/
端末のSQLiteを使う、個人的にはFirebaseFirestoreを使う
StoreReview
https://docs.expo.io/versions/v37.0.0/sdk/storereview/
レビュー依頼ダイアログ
Svg
https://docs.expo.io/versions/v37.0.0/sdk/svg/
SVG表示
Updates
https://docs.expo.io/versions/v37.0.0/sdk/updates/
OTAアップデート有無の確認、アップデート実行
VideoThumbnails
https://docs.expo.io/versions/v37.0.0/sdk/video-thumbnails/
ビデオからサムネ取得
Video
https://docs.expo.io/versions/v37.0.0/sdk/video/
動画再生
ViewPager
https://docs.expo.io/versions/v37.0.0/sdk/view-pager/
カルーセルUI
WebBrowser
https://docs.expo.io/versions/v37.0.0/sdk/webbrowser/
アプリ外Webブラウザー(SFSafariViewController)
WebView
https://docs.expo.io/versions/v37.0.0/sdk/webview/
アプリ内Webビュー