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
470
Other Decks in Programming
See All in Programming
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
220
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
710
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
360
Devvox Belgium - Agentic AI Patterns
kdubois
1
140
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.4k
CSC305 Lecture 09
javiergs
PRO
0
310
Catch Up: Go Style Guide Update
andpad
0
250
AkarengaLT vol.38
hashimoto_kei
1
120
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Statistics for Hackers
jakevdp
799
220k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
4 Signs Your Business is Dying
shpigford
185
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
How to Ace a Technical Interview
jacobian
280
24k
Site-Speed That Sticks
csswizardry
13
920
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 େ ߒ ʘൃചத!!ʗ גࣜձࣾιχοΫΨʔσϯ