Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
750
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
Yuku Kotani
March 06, 2025
Tweet
Share
More Decks by Yuku Kotani
See All by Yuku Kotani
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
3k
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
6
2.4k
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
10
4.7k
AI Coding Agent Enablement in TypeScript
yukukotani
21
14k
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
8k
React 19でお手軽にCSS-in-JSを自作する
yukukotani
6
960
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
12
3.4k
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
14
8k
Capacitor製のWebViewアプリからReact Native製のハイブリッドアプリへ
yukukotani
5
1.8k
Other Decks in Programming
See All in Programming
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
470
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
250
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
AIコーディングエージェント(Manus)
kondai24
0
190
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
AIコーディングエージェント(Gemini)
kondai24
0
230
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
愛される翻訳の秘訣
kishikawakatsumi
3
330
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
3
740
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
110
マスタデータ問題、マイクロサービスでどう解くか
kts
0
100
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The Pragmatic Product Professional
lauravandoore
37
7.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Designing for Performance
lara
610
69k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Statistics for Hackers
jakevdp
799
230k
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によってさらに統合が進身、ユニバーサルな開発体験が完成していく