Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ExpoRouterとEASを使った爆速MVP開発
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
YuMatsumura
March 19, 2024
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ExpoRouterとEASを使った爆速MVP開発
ReactNativeMeetup #15. 23/03/19 のLTで発表しました
YuMatsumura
March 19, 2024
More Decks by YuMatsumura
See All by YuMatsumura
プロジェクト管理ツールLinearの紹介
mattzn
1
20k
大企業から17人目のスタートアップに転職しての変化
mattzn
0
480
OculusConnect
mattzn
0
40
MicrosoftFlow勉強会
mattzn
0
44
Other Decks in Programming
See All in Programming
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
480
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.6k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
380
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
640
RTSPクライアントを自作してみた話
simotin13
0
520
AIとRubyの静的型付け
ukin0k0
0
560
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
490
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.5k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
210
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Code Reviewing Like a Champion
maltzj
528
40k
So, you think you're a good person
axbom
PRO
2
2.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Discover your Explorer Soul
emna__ayadi
2
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
Transcript
ExpoRouterとEASを使った爆速MVP開発 React Native Meetup #15 ft. RevenueCat 24/03/19 アセンド株式会社 柗村裕
柗村 裕 w アセンド株式会社 プロダクトエンジニ w 物流スタートアップ1年) w 1社目・2社目はVR/ARの研究開発(Unity( w
ReactNative + Unity調 w ReactNativeのアプリ開S w 趣味:VALORANT, LoL, Twice, シーシ w 共通のものあればお声がけください! 自己紹介 @yu_mattzn
質問 Expoを使って開発したことある ExpoRouterを使って開発したことある EASを使ったことがある
はじめに モバイルアプリを開発することになった ReactNativeの経験はあったがCI/CDが完全に整った環境だっ Bitrise, fastlane, DeployGate, GithubActions, どれ使うか・・y
チームにモバイルアプリ開発の経験者がいなかっ 環境構築コストが面倒・・。watchman, cocoapods入れて・・y 時間が無い中人も足りなr が、メンバー全員フロントエンドもバックエンドもTypescriptで実装して フロントはNextJsでファイルベースルーティング => Expo RouterとEASで初速を上げよう!!!
Expo Expoの各サービスの理解 Expo SD ReactNativeでWeb/iOS/Androidのアプリを開発できるOSP React(UIライブラリ)に対するNextjsのような位
EAS (ExpoApplicationServicesE ExpoアプリをDeliveryするクラウドサービ Vercelのような位 Expo Route` 最近のSDKで搭載されたルーティングライブラS 海外の開発者がYoutubeで騒いでたことで知ってた
Expo 始め方 create-expo-appでNavigation (Typescript)を選択 -> Expo Routerが使えるように!
Expo 起動 expo starR D QRコードを読み取ると実機のExpoGo アプリで立ち上が0 D iでiOSシミュレー D
aでAndroidエミュレー D wでWebページで立ち上がる
Expo Expo Go k Expoで開発する際のサンドボックスツー k ExpoSDKに入ってるライブラリは全て利用可e k シミュレータや実機にビルドを入れ直す必要な k
CameraやNotificationsなどだけでなく SkiaやFlashListなども入っていまy k ExpoGoで開発できる範囲ならネイティブコードにコンパイルする必要な k watchman, CocoaPods, JDKなども不要
Expo Router Expo Router appフォルダ直下のファイル名が全てRoutingされ Webで開くときはリンクになるしアプリはdeeplinkにもな /
=> index.ts7 /about => about.ts7 /user/1234 => [id].tsx (動的ルーティング@ 共通のレイアウトを組むには_layout.tsxを使 同じ階層にあるページには全てlayout.tsxのレイアウトが適用
Expo Router 動的ルーティング
Expo Router Typed Routes h 遷移先を指定する際に、フォルダ構造からRoutingを判断し、Typescriptによる型推 論が効く(好き)
Expo Router Tabs React Navigationの知識が活き2 TabNavigatorのOptionが効く
Expo Router Tabsおまけ D フォルダ構造から勝手にタブを生I D 全てのRoutingがタブになってしまうので 子側のレイアウトを設定する必要がある
EAS EAS(Expo Application Services) 複数のサービス EAS BuilT アプリのバイナリをビルドするためのクラウドサービ
Storeに配布する用のビルド、内部のみの配布のビルドなどを簡単に設定可5 EAS Updat OTAアップデート. 再インストールさせることなくアプリをアップデートすX EAS SubmiQ AppStore, PlayStoreにアプリを配布する
EAS EAS(Expo Application Services) ある程度無料!!
EAS EAS Build D 30ビルドまで無$ D eas.jsonで設 D わずか3コマンドでビルド がホストされる
EAS EAS Update @ OTA Updat0 @ ストアのUpdateを挟まずにアプリをアップデート可能
EAS EAS Submit c EAS BuildでProductionBuildを行った後、Storeに提出でき1 c コマンドを打った後にAppStoreConnectにアプリが生成されていH c TestFlightですぐにダウンロードして動かせた
おまけ Expoのドキュメントについて i HomeとGuideg i この二つで左のメニューが切り替わ6 i ずっと気づかなかったけど、Homeにしかない 有益な情報やチュートリアル動画があるので 両方見ると良さそう
終わり ご静聴ありがとうございました ExpoRouter + EASを使って面倒な環境構築などを省いて初速を上げれたS 爆速開発をしていきたく、仲間募集中! こんな課題があるので詳しい方いたらぜひ話しかけてくださいS
モノリポでの開発の課c バックエンドのアプリがアプデされた時の対 強制アップデート