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
320
「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
20260315 AWSなんもわからん🥲
chiilog
2
180
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
4
2k
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
4.1k
CSC307 Lecture 15
javiergs
PRO
0
270
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
Feature Toggle は捨てやすく使おう
gennei
0
360
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
160
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
820
Rethinking API Platform Filters
vinceamstoutz
0
910
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.4k
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
110
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
490
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
The browser strikes back
jonoalderson
0
840
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Skip the Path - Find Your Career Trail
mkilby
1
89
Side Projects
sachag
455
43k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Are puppies a ranking factor?
jonoalderson
1
3.2k
Balancing Empowerment & Direction
lara
5
990
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building AI with AI
inesmontani
PRO
1
820
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 େ ߒ ʘൃചத!!ʗ גࣜձࣾιχοΫΨʔσϯ