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で自社サービスのiOS/Androidアプリをリプレイスした話」 か...
Search
Hiromasa Ohno
July 15, 2020
Programming
1
310
「React Nativeで自社サービスのiOS/Androidアプリをリプレイスした話」 から2年経った今何を思うのか/techplay-mobile-cross-platform-lt-2020-07-15
Hiromasa Ohno
July 15, 2020
Tweet
Share
More Decks by Hiromasa Ohno
See All by Hiromasa Ohno
テレワークデイズ浜松2019発表 ソニックガーデン大野 / Telework Days Hamamatsu 2019
pi_chan
0
140
React Nativeでアプリのアップデートが楽になる話
pi_chan
0
460
Other Decks in Programming
See All in Programming
Namespace and Its Future
tagomoris
6
710
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
11
4.4k
Platformに“ちょうどいい”責務ってどこ? 関心の熱さにあわせて考える、責務分担のプラクティス
estie
1
140
Design Foundational Data Engineering Observability
sucitw
3
210
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
790
為你自己學 Python - 冷知識篇
eddie
1
350
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
870
print("Hello, World")
eddie
2
530
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
350
AI Agents: How Do They Work and How to Build Them @ Shift 2025
slobodan
0
110
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
How to Ace a Technical Interview
jacobian
279
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Become a Pro
speakerdeck
PRO
29
5.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Rails Girls Zürich Keynote
gr2m
95
14k
Typedesign – Prime Four
hannesfritz
42
2.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Practical Orchestrator
shlominoach
190
11k
Transcript
ʮReact NativeͰࣗࣾαʔϏεͷiOS/ AndroidΞϓϦΛϦϓϨΠεͨ͠ʯ ͔Β2ܦͬͨࠓԿΛࢥ͏ͷ͔ ˏTECH PLAY 2020/07/15 גࣜձࣾιχοΫΨʔσϯ େߒ
ࣗݾհ ✦ େߒʢͻΖ·͞ʣ ✦ 2015͔ΒιχοΫΨʔσϯ ✦ ϓϩάϥϚʔ / ސCTO ✦
Rails / iOSωΠςΟϒ ✦ ੩Ԭݝদࢢࡏॅ
ιχοΫΨʔσϯʹ͍ͭͯ ✦ डୗ։ൃத৺ɾࣗࣾαʔϏε ✦ ϓϩάϥϚʔΛத৺ʹࣾһ50໊΄Ͳ ✦ ೲͷͳ͍डୗ։ൃ ❖ όʔνϟϧCTO ❖
ۀϋοΫ ✦ ϦϞʔτϫʔΫ
Remotty
✦ 20173݄ɿ։ൃ։࢝ ✦ 20179݄ɿϦϦʔεʢچόʔδϣϯΛࠩ͠ସ͑ʣ ✦ 20184݄ɿϒϩάʹ·ͱΊͨ ✦ ↑↑2લ RemottyͷΞϓϦΛReact NativeͰ
None
✦ ྆OSͷωΠςΟϒ൛͕͋ͬͨ ✦ ϒϥβ൛ϝΠϯͷͨΊΞϓϦ༏ઌΊ ✦ ઐۀͰͳ͍ ✦ React NativeͰαΫͬͱͬͯΈΑ͏ ओ1ɿReact
Nativeબͷഎܠ ʢ˞2ʙ3લͷͰ͢ʣ
✦ ։ൃମݧɺྑ͍ʂ☺ ❖ UIΛએݴతʹॻ͚ͯΊͬͪΌྑ͍☺ ❖ Code PushͰͷϦϦʔεͱͬͯศར☺ ❖ JSON APIͷ݁ՌΛͦͷ··ѻָ͑ͯͪΜ☺
ओ2ɿReact Native͓͓ΉͶྑ͔ͬͨ ʢ˞2ʙ3લͷͰ͢ʣ
͋Ε͔Β2ޙͷࠓࢥ͏͜ͱ ʢ։ൃ͡Ί͔ͯΒ3ޙ…ʣ
✦ ։ൃମݧɺྑ͍ʂ☺ ❖ UIΛએݴతʹॻ͚ͯΊͬͪΌྑ͍☺ ❖ Code PushͰͷϦϦʔεͱͬͯศར☺ ❖ JSON APIͷ݁ՌΛͦͷ··ѻָ͑ͯͪΜ☺
։ൃΓָͪΜ ࣌ͱมΘΒͳ͍ؾ࣋ͪ
ϞόΠϧΞϓϦͷ໋॓
OS͕ਐԽ͢ΔͱΞϓϦ͕૬ରతʹѱ͘ͳΔ ✦ ͨͱ͑͜ΜͳରԠ͠·ͨ͠ ✦ iOS ❖ iPhone Xͷग़ݱʢSafeAreaͷߟྀ ✦ Android
❖ Google PlayͰͷ64bitରԠ
✦ OSʹै͢ΔʹReact NativeͷΞοϓσʔτ͕ඞਢ ✦ React NativeͷόʔδϣϯΛ্͛Δͱɺࢮ͵ ✦ ྫʣ ❖ 0.59ʹ͋͛ͨΒAndroidͷTextView͕όά͍ͬͯΔ
❖ →0.60ʹ͋͛ͨΒϏϧυͷΈ͕มΘΔ ❖ →ͬͱͨ͠Β࣮AndroidͷListView͕όάͬ…ʢҎԼུʣ ❖ 0.61ʹͨ͠ΒΑ͏͘ಈ͍ͨ Ξοϓσʔτܥ͕େมɾRNຊମฤ
✦ αΫοͱ࡞ΔͨΊɺ͑ͦ͏ͳϥΠϒϥϦ༻ ❖ OAuthɹ ❖ ը૾ϐοΧʔ/ϦαΠζ ❖ MentionઌબUI ✦ ͜Εͳ͔ͳ͔
❖ RNͷ࠷৽όʔδϣϯະରԠʢͦͦϝϯςࢭ·ͬͯΔ ‣ ผϥΠϒϥϦʹஔ͖͑ ‣ ϓϧϦΫ || fork Ξοϓσʔτܥ͕େมɾϥΠϒϥϦฤ
ֶͼ
RNͷ͚ͩϝϯςۀ͕૿͑Δ /BUJWF4%, ϥΠϒϥϦ ΞϓϦ 3FBDU/BUJWF ϥΠϒϥϦ ΞϓϦ /BUJWF4%, ωΠςΟϒΞϓϦ React
Native ΞϓϦ ✦ NativeͷਐԽʹ͏ϝϯς ✦ React NativeͷਐԽʹ͏ϝϯςΒ ※ Expo3લ͙Β͍ʹͪΒͬͱ৮ͬͯҎདྷͬͯ·ͤΜͷͰɺஅͰ͖·ͤΜ ✦ NativeͷਐԽʹ͏ϝϯς
✦ ϝϯςφϯε͢͠͞Λҡ࣋ ❖ ઐۀͰͳ͍ͳΒͳ͓͞Β ✦ ͜·ΊʹΞοϓσʔτ͠Α͏ ❖ ϓϥοτϑΥʔϜͷਐԽʹ߹Θͤͳ͍ ✦ ϥΠϒϥϦͷґଘΛݮΒͦ͏
❖ ಛʹୈࡾऀͷUIϥΠϒϥϦ… ϝϯςφϯεੑ > ։ൃମݧ
ࠓΔͳΒͲ͏͢Δʁ
※ ΞϓϦͷಛੑʹΑΔͷͰࢲ/Remottyͷ߹ͱ͍͏͜ͱͰ… ✦ ϝΠϯը໘ʹWebViewΛ༻͢Δ ✦ Push௨ͳͲҰ෦ͷػೳωΠςΟϒͰ࣮͢Δ ✦ AndroidͰ͋ΕPWAͰՄೳ ✦ Web։ൃͳͷͰɺ։ൃɾϦϦʔεָ͕ʢ1ຊԽʣ
✦ ωΠςΟϒ࣮ۃখͷͨΊɺϝϯςίετ͍ ωΠςΟϒ࣮ͷWebViewΞϓϦʹ͢Δ ↓
ͲΜͳ߹ʹ React NativeΛબͿ͔
✦ React Nativeͷಛ ❖ ։ൃମݧྑ͍ ❖ ೃછΈ͕͋ΔͰ͋Ζ͏JSͰͷ։ൃ ❖ ωΠςΟϒΞϓϦͷϓϥοτϑΥʔϜͷΈɾڥͷཧղ RNબͷϝϦοτґવͱͯ͋͠Δ
✦ ϑϧλΠϜͰऔΓΊΔ߹ ✦ νʔϜͷਓ͕ेͳ߹ ✦ ϥΠϒϥϦͷϝϯςΛ͍ͱΘͳ͍߹ ✦ ʢϑϨʔϜϫʔΫΛࣗͨͪͰͤΔ߹ʣ ܧଓͯ͠ϝϯςφϯεͰ͖Δମ੍
ʮReact NativeͰࣗࣾαʔϏεͷiOS/ AndroidΞϓϦΛϦϓϨΠεͨ͠ʯ ͔Β2ܦͬͨࠓԿΛࢥ͏ͷ͔ ˏTech Play 2020/07/15 גࣜձࣾιχοΫΨʔσϯ େߒ
͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣭͋Εͥͻ͓ئ͍͠·͢
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ Twitter: @pi_cha_n Facebook: hiromasa.ohno େ ߒ ʘൃചத!!ʗ גࣜձࣾιχοΫΨʔσϯ