Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
React Native New Architecture 移行実践報告
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
taminif
November 26, 2025
Programming
290
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
350
PuppeteerとPlaywrightの15日間の演劇 / relation of Puppeteer and Playwright
taminif
3
2.3k
Redashの開発はじめました / How to get started Redash development
taminif
0
820
私の生活を変えたHeadless Chrome / Headless Chrome who changed my life
taminif
3
560
WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!? / have you painful experience in web socket?
taminif
3
6.3k
LINEで馬券を購入する / Purchase a betting ticket at LINE
taminif
1
1.7k
SkyWayで一年間運用してきたけどWebRTCってつらいんじゃないの
taminif
2
1k
オンライン英会話とSkyWay
taminif
0
560
オンライン英会話アプリとSkyWay
taminif
0
510
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
ジョジョの世界をXRで再現する
mofurune
0
170
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.3k
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
440
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Fireside Chat
paigeccino
43
4.1k
ラッコキーワード サービス紹介資料
rakko
1
5.4M
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Pragmatic Product Professional
lauravandoore
37
7.5k
HDC tutorial
michielstock
2
960
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
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 ʹۤ࿑͍ͯ͠·͢ʂ • ͠ڵຯ͋Γ·ͨ͠Β͓͕͚͍ͩ͘͞ʂ͠·͠ΐ͏ʂ