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
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
Search
Yuku Kotani
March 06, 2025
Programming
3
420
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
Yuku Kotani
March 06, 2025
Tweet
Share
More Decks by Yuku Kotani
See All by Yuku Kotani
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
6.3k
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
740
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
11
3.1k
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
14
7.5k
Capacitor製のWebViewアプリからReact Native製のハイブリッドアプリへ
yukukotani
5
1.5k
Real World Type Puzzle and Code Generation
yukukotani
4
910
Kuma UI が提唱する Hybrid Approach CSS-in-JS の仕組み
yukukotani
2
550
GraphQLスキーマ設計の勘所
yukukotani
42
18k
既存Webサービスのモバイルアプリ版を 1週間でリリースし、進化させてきた話
yukukotani
0
780
Other Decks in Programming
See All in Programming
Unlock the Potential of Swift Code Generation
rockname
0
280
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
350
実践Webフロントパフォーマンスチューニング
cp20
42
9.5k
Browser and UI #2 HTML/ARIA
ken7253
2
160
Bedrock × Confluenceで簡単(?)社内RAG
iharuoru
1
100
State of Namespace
tagomoris
5
2.2k
SwiftDataのカスタムデータストアを試してみた
1mash0
0
130
Laravel × Clean Architecture
bumptakayuki
PRO
0
130
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
240
カウシェで Four Keys の改善を試みた理由
ike002jp
1
120
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
200
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
2
1.2k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Bash Introduction
62gerente
611
210k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
Code Review Best Practice
trishagee
67
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
Why Our Code Smells
bkeepers
PRO
336
57k
Transcript
Expo React Server Components によるアプリ開発の現在地と が切り開く未来 @yukukotani 2025/03/06 - React
Native開発最前線 @ Offers DeepDive
自己紹介 小谷 優空 - @yukukotani ・VP of Technology @ Ubie,
Inc. ・Student @ Univ. Tsukuba
話すこと Expoでの開発の今と未来をざっくり紹介。技術的な詳細には踏み込まない ・Expo(React Native)での開発って今どんな感じ? ・これからどうなっていく? 技術的詳細もうちょっと書いてます
目次 1. Expo開発フロー概観 2. RSCによる未来 3. まとめ
Expoって? React Nativeでの開発をめっちゃ楽にしてくれるメタフレームワーク Reactに対するNext.jsみたいなもの
Expoによる開発フロー コーディング、ビルド、デプロイの3ステップで見ていく
コーディング
シンプルにReactで書くだけ
ネイティブUIを描画 Android iOS
アプリでパス・・・?
File Based Routing できる /app/about.tsx
ネイティブ処理もJSから
Web開発と似た感覚!
Web開発と特に異なるところ ・スタック前提の画面設計が必要(生きてる画面に別画面が重なってくる) ・DOMやCSSはそのまま使えない
ビルド
JSのビルドはExpoがやってくれる Metroというバンドラが組み込まれていて、勝手にやってくれる Next.jsがWebpack/Turbopackを持ってるのと同じ
iOS, Androidのコードどこにある?
Continuous Native Generation (CNG) iOS, Android のコードや設定を丸ごと自動生成する仕組み https://zenn.dev/woodstock_tech/articles/293a5c1d062ec6 .gitignoreできちゃう!
ネイティブコードがあってもビルドがめんどい・・・ CIにXCode環境を準備したり、、、 めちゃくちゃ遅いからキャッシュしたり、、、
EAS Build Expo公式のクラウドサービスでビルドしてくれる アプリビルドに最適化された環境になってるので、小難しいことをやらなくて済む
デプロイ
ストア審査に出すのもダルい・・・ EAS Buildからビルド結果のバイナリをダウンロードできるけど・・・ Appleに証明書を登録したりなど、小難しいプロセスがたくさん
EAS Submit ストアへの提出までEASがワンストップでやってくれる 証明書などもマネージドになって楽ちん
EAS Update 画面の変更などはストア審査なしで出せる(OTA Update)
JSエンジンを持つReact Nativeだからできる JavaScriptで記述する部分は基本的にすべてOTA可能 アプリ設定変更やネイティブモジュールの追加はストア審査が必要
目次 1. Expo開発フロー概観 2. RSCによる未来 3. まとめ
従来のOTAアップデート モバイルアプリは独立したクライアントアプリケーション デプロイ時にEAS Updateサーバがクライアント実装を差し替える
Server-Driven UI サーバーサイドでUIの構成を決定し、クライアントはそれに従って描画する設計 Airbnb, Netflix などが採用している https://medium.com/airbnb-engineering/a-deep-dive- into-airbnbs-server-driven-ui-system-842244c5f5
Server-Driven UI 画面構成はAPIレスポンスでしかないので動的に変えられる 実装を再デプロイしたり 管理画面で入稿したり
React Server Components RSCによって、サーバー側でコンポーネントを描画することができる →より自然に Server-Driven UIができる、Web開発に近いOTAの未来の形 サーバー側なので 動的に差し替えられる
目次 1. Expo開発フロー概観 2. RSCによる未来 3. まとめ
まとめ ・Expoの開発体験はクラウドサービスと統合され、Web開発者にも馴染みやすい ・RSCによってさらに統合が進身、ユニバーサルな開発体験が完成していく