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
React Native New Architecture 移行実践報告
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
taminif
November 26, 2025
Programming
220
1
Share
React Native New Architecture 移行実践報告
React Native Meetup #23
taminif
November 26, 2025
More Decks by taminif
See All by taminif
「とりあえずAI」が招く悲劇〜私がAIで生産性を下げるまでの話〜 / The tragedy caused by "AI for now" - The story of how I used AI to reduce my productivity
taminif
1
290
PuppeteerとPlaywrightの15日間の演劇 / relation of Puppeteer and Playwright
taminif
3
2.3k
Redashの開発はじめました / How to get started Redash development
taminif
0
790
私の生活を変えたHeadless Chrome / Headless Chrome who changed my life
taminif
3
530
WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!? / have you painful experience in web socket?
taminif
3
6.1k
LINEで馬券を購入する / Purchase a betting ticket at LINE
taminif
1
1.7k
SkyWayで一年間運用してきたけどWebRTCってつらいんじゃないの
taminif
2
1k
オンライン英会話とSkyWay
taminif
0
540
オンライン英会話アプリとSkyWay
taminif
0
490
Other Decks in Programming
See All in Programming
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
110
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
160
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.5k
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
270
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
Feature Toggle は捨てやすく使おう
gennei
0
400
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
220
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
320
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
480
Rethinking API Platform Filters
vinceamstoutz
0
4.8k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
380
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
Raft: Consensus for Rubyists
vanstee
141
7.4k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
700
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Unsuck your backbone
ammeep
672
58k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Transcript
React Native New Architecture Ҡߦ࣮ફใࠂ React Native Meetup #23 2025/11/26
େౡ ޫو@sbntaminif
͢͜ͱɾ͞ͳ͍͜ͱ • ͢͜ͱ • New Architectureͷ֓ཁ • Ҡߦ࣮ફͱ࣮ࡍʹى͖ͨ͜ͱ • ͞ͳ͍͜ͱ
• Repro ͷ SDK ʹ͓͍ͯɺͦͦLegacy ArchitectureΛ͍ͬͯΔཧ༝ • ։ൃதʹͬͨAIͷ
ࠓͷϒϩάʹͳ͍ͬͯ·͢ https://tech.repro.io/entry/2025/09/30/090148
ࣗݾհ • Reproגࣜձࣾ Development Div. App SDK ΤϯδχΞ • ීஈiOS/AndroidͲͪΒ։ൃͯ͠·͢
• ࠓେࡕ͔Βདྷ·ͨ͠ • ීஈϑϧϦϞʔτͰۈ͍ͯ͠·͢ • React Native SDK ͷ։ൃͰ৮Δ͘Β͍ͷࣝʢͳͷͰ͓खॊΒ͔ʹ͓ئ͍͠·͢ɾɾʣ
Reproגࣜձࣾͱ • ϚʔέςΟϯάιϦϡʔγϣϯΛఏڙ͢Δձࣾ • ΫϥΠΞϯτ͕ఏڙ͢ΔΞϓϦʹ SDK Λಋೖ͢Δ͜ͱͰɺϓογϡ௨ ΞϓϦϝοηʔδΛग़͢͜ͱ͕Ͱ͖Δ • iOS/Android
ΞϓϦ͓Αͼ֤छϓϥοτϑΥʔϜΛαϙʔτ • React Native/Flutter/Unity/Cordova/Cocos2d-x • SDK෦Ͱ NativeModules Λͬͯ iOS/Android ͷίʔυΛݺͼग़͍ͯ͠ Δ
Πϝʔδʢ͜Μͳײ͡ͷͷΛग़ͤ·͢ʣ ϓογϡ௨ ΞϓϦϝοηʔδ
ͳͥ New Architecture αϙʔτ͕ඞཁ͔ • React Native ͷόʔδϣϯΞοϓΛݕ౼͍ͯ͠ΔΫϥΠΞϯτ͔Β ʮόʔδϣϯΞοϓΛߦ͏ͱSDKͰΤϥʔ͕ൃੜ͢Δʯͱ͍߹ΘͤΛड͚Δ •
όʔδϣϯΞοϓΛߦ͏͜ͱͰ New Architecture ͷϑϥά͕ONʹͳΓ NativeModules ͷݺͼग़͠ͰΤϥʔʹͳ͍ͬͯͨ • NativeModules ʹΘͬͯ৽࣮͘͠͞Εͨ TurboModules ͷରԠ͕ඞਢ → New Architecture ͷҠߦ͕ඞཁʹͳͬͨ • ʢͪͳΈʹʣNew Architecture React Native v0.74 ͔ΒσϑΥϧτͰ༗ޮʹͳ͍ͬͯΔ
ʢཁ͋ΕʣNew Architecture ͷ؆୯ͳઆ໌ • New Architecture ͱɺ React Native ΛߴԽɾ҆ఆԽͤ͞ΔͨΊ
ͷࠜຊతͳ࠶ઃܭʢGeminiஊʣ • ैདྷͷੑೳͷϘτϧωοΫͩͬͨʮϒϦοδʯΛͳ͘͠ɺ JavaScript ͱ Native Code ͕௨৴͢Δ͜ͱͰ࣮ݱ • ͜ͷϒϩά͕ͱͯࢀߟʹͳΓ·͢ʂʢਤ͋Γ·͢ʂʣ • https://tomoima525.hatenablog.com/entry/2020/12/18/183556
New Architecture Λ αϙʔτ͢Δ·ͰͷϙΠϯτ
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶃ: Codegen • React Native ͷ JavaScript
ίʔυͱ Native Code ͷʮܕʯΛࣗಈͰ ಉظͤ͞ΔΈ • ։ൃऀ Native Ͱ࣮ߦ͍ͨ͠ίʔυΛʢޙग़͢ΔʣSpecΛ༻ҙ͢Δ ͚ͩͰͭͳ͗ࠐΈΛߦͬͯ͘ΕΔ • ۩ମతʹɺϏϧυ࣌ʹ C++ ͷϒϦοδίʔυΛࣗಈੜ͢Δ https://reactnative.dev/docs/the-new-architecture/what-is-codegen
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶃ: Codegen • ͍ํ: con fi g.json
ʹ Codegen ͷڥΛઃఆ͢Δ -> Ϗϧυ࣮ߦ࣌ʹίʔυΛࣗಈੜͯ͘͠ΕΔʢ࣍ϖʔδʣ
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶃ: Codegen iOS(C++ and Obj-c) Android(C++ and
Java)
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶄ: Spec • JavaScript ͱ Native ؒͰΓऔΓ͢ΔػೳϓϩύςΟͷ༷Λఆ
ٛͨ͠ɺ TypeScript/Flow Ͱهड़ͨ͠ܕఆٛϑΝΠϧ • ͨͩ͠ TypeScript αϙʔτϕʔλ൛ʢυΩϡϝϯτະΞοϓσʔτͷՄೳੑ͋Γʣ • Codegen ͜ͷϑΝΠϧΛݩʹ C++/Native Code Λੜ͢Δ • SDK Λಋೖͨ͠ΞϓϦ Spec ϑΝΠϧʹఆٛ͞Εͨϝιου/ϓϩ ύςΟΛݺͼग़͢͜ͱͰ Native Code Λ࣮ߦͰ͖Δ
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶄ: Spec ίʔυྫ
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶅ: Legacy Architectureͱͷޙํޓ • લఏ: Legacy Architecture
ͱ New Architecture ཱ྆Ͱ͖ͳ͍ • New Architecture ϑϥά͕OFFʹͳ͍ͬͯΔΞϓϦ NativeModules ͕ಈ࡞͢Δඞཁ͕͋Δ • υΩϡϝϯτΛࢀߟʹɺ iOS/Android × Legacy/New Architecture ͦΕͧΕ͚ͯίʔυΛॻ͘ඞཁ͕͋Δʢ࣍ϖʔδʣ • Spec ϑΝΠϧڞ௨ͰOK
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶅ: Legacy Architecture ͱͷޙํޓ iOS ίʔυྫʢࠨ͕headerϑΝΠϧɺӈ͕࣮ϑΝΠϧʣ
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶅ: Legacy Architecture ͱͷޙํޓ Android ίʔυྫ: build.gradle
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶅ: Legacy Architecture ͱͷޙํޓ Android ίʔυྫ: BridgePackage
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶅ: Legacy Architecture ͱͷޙํޓ Android ίʔυྫ: Legacy
Architecture Module
New Architecture Λαϙʔτ͢Δ·Ͱͷ ϙΠϯτᶅ: Legacy Architecture ͱͷޙํޓ Android ίʔυྫ: New
Architecture Module
։ൃ࣮ફใࠂ
։ൃ࣮ફใࠂ ͦͷᶃ: Codegen ͷཧղ͕͍͠ • Codegen ͕Կ͔͠ΒͷίʔυੜΛߦ͏͜ͱΘ͔Δ͕ɺίʔυΛ ੜ͠ͳ͍ͱຊମ͕ಈ͔ͳ͍ͷ͔ɺϏϧυ͢Δʹੜ͞ΕΔͷ͔ɺ ԿΘ͔Βͳ͍ •
υΩϡϝϯτʹϏϧυ༻ίϚϯυ͕༻ҙ͞Ε͍ͯΔ͕ɺͦΕҎ্ ͷ͜ͱॻ͔Ε͍ͯͳ͍ • ಈ͔͠ͳ͕Βࢼ͔͢͠ͳ͍
։ൃ࣮ફใࠂ ͦͷᶄ: ຊޠͷهࣄ͕ݟ͔ͭΒͳ͍ • ʢ͕ࣗௐͨݶΓʣNew Architecture + ֎෦ϥΠϒϥϦͷҠߦྫ ΄ͱΜͲݟ͔ͭΒͳ͔ͬͨ •
FirebaseBrazeʢڝ߹ʣͷιʔεΛݟͯษڧ͍ͯͨ͠ • ಛʹޙํޓʹ͍ͭͯɺҠߦྫ͕ݟ͔ͭΒͳ͍ • υΩϡϝϯτ͋Δʹ͋Δͷ͕ͩɺΤϥʔ͕ൃੜͨ࣌͠ʹͲ͏͢ ͖͔Λಛʹۤ࿑ͨ͠
։ൃ࣮ફใࠂ ͦͷᶅ: ফ͍͑ͯ͘αϯϓϧͱυΩϡϝϯτ • ։ൃॳʹࢀߟʹ͍ͯͨ͠ެ͕ࣜఏڙ͍ͯ͠ΔαϯϓϧυΩϡϝϯτ • https://github.com/react-native-community/ RNNewArchitectureLibraries/tree/feat/back-turbomodule • ͨͩ͠ݹ͍ͷͰಈ࡞͠ͳ͍෦͕͋Δʢޙड़ʣ
• ࠓ7/1ʢ։ൃ్தʣʹϦϙδτϦ͝ͱΞʔΧΠϒ͞ΕΔ😭
։ൃ࣮ફใࠂ ͦͷᶅ: ফ͍͑ͯ͘αϯϓϧͱυΩϡϝϯτ • ͖͔͚ͬ: JavaScriptͰ New Architecture ͔Ͳ͏͔ఆ͍ͨ͠ •
index.js Ͱ New Architecture ͔Ͳ͏͔ఆ͢ΔͨΊͷॲཧ -> global.__turboModuleProxy • ௐࠪͨ͠ͱ͜ΖˢΛͬͯఆ͍ͯ͠ΔWebهࣄGeminiͷճ͕ ग़ͯ͘Δ
։ൃ࣮ફใࠂ ͦͷᶅ: ফ͍͑ͯ͘αϯϓϧͱυΩϡϝϯτ • ࣮2024ͷ࣌Ͱglobal.__turboModuleProxy͕আ • PR: https://github.com/facebook/react-native/pull/47598 • ࠷ऴతʹ
global.nativeFabricUIManager != null Ͱఆ
Gemini͘ΜఘΊΔϨϕϧ ʢࡾௐͯΑ͏͘ḷΓண͖·ͨ͠ʣ
։ൃ࣮ફใࠂ ͦͷᶆ: ख୳ΓͰίʔυΛॻ͍͍ͯ͘ • TypeScript Ͱॻ͔Εͨ Spec ͱ Native Code
ͷܕΛ߹Θͤͳ͍ͱੜ ͞ΕͨΫϥεΛ Override Ͱ͖ͳ͍ • ΫΠζ: Codegen ͕ TypeScript ͔Β Java ʹίʔυม͢Δ࣌ TypeScript ͷ NumberܕԿʹม͞ΕΔͰ͠ΐ͏ʁ ᶃint ᶄdouble ᶅNumber • ͜ΕυΩϡϝϯτʹॻ͔Ε͍ͯͨʢ͚Ͳؾ͚ͮͳ͔ͬͨʣ
։ൃ࣮ફใࠂ ͦͷᶇ: ޙํޓΛҡ࣋ͭͭ͠ίʔυΛॻ͘ • SDKʹ༻ҙ͍ͯͨ͠ϝιου͜Ε·Ͱ௨Γݺͼग़ͤΔඞཁ͕͋Δ • Ұ෦ index.js ͰσʔλΛՃ͔ͯ͠Β Native
ʹ͍ͯ͠Δॲཧ͕ ͋ͬͨ • New Architecture Spec Ͱఆٛͨ͠ϝιουͱ௨Ͱ͍ͯ͠Δ • ղܾࡦ: Legacy Architecture ઐ༻ͷ Native Code Λ༻ҙ͠ɺ index.js Ͱذ͢Δ
·ͱΊ
·ͱΊ • গͳ͍ใͱ Gemini ͷ͓͔͛ͰͳΜͱ͔։ൃ͢Δ͜ͱ͕Ͱ͖ͨ • React Native Ͱ Native
पΓΛ৮Δ͜ͱ͕͋Ε ੋඇͱࢀߟʹ͍ͯͩ͘͠͞ • ͓Αͦ2ϲ݄ఔͰϦϦʔε·ͰͰ͖·ͨ͠ • ͜ͷݟ͕ଞͷ։ൃऀͷࢀߟʹͳΓɺΑΓ։ൃ͕ૣ͘ͳΔ͜ͱΛ ف͍ͬͯ·͢🙏
We Are Hiring • SDK ͷ։ൃ͕Ͱ͖ΔΤϯδχΞΛ୳͍ͯ͠·͢ʂ • ࠓճॳࢀՃͰ͕͢ɺ͍ΖΜͳϓϥοτϑΥʔϜΛ৮Δ͜ͱͰͦΕͧ ΕͷษڧձʹࢀՃͰ͖·ͨ͠ʂ •
ۙͰ Flutter Unity ʹۤ࿑͍ͯ͠·͢ʂ • ͠ڵຯ͋Γ·ͨ͠Β͓͕͚͍ͩ͘͞ʂ͠·͠ΐ͏ʂ