Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
React Native CodePush in Wantedly
Search
Yuki YAMADA
May 29, 2018
Technology
1
1.1k
React Native CodePush in Wantedly
Roppongi.js #3 で発表しました。Microsoft の提供する React Native CodePush についてです。
Yuki YAMADA
May 29, 2018
Tweet
Share
More Decks by Yuki YAMADA
See All by Yuki YAMADA
Frontend Engineering at Wantedly
yamadayuki
5
38k
Actor Model in Reason
yamadayuki
0
1.2k
React with Reason
yamadayuki
1
710
Wantedlyの新卒研修
yamadayuki
1
3.6k
Introduction to Flow
yamadayuki
0
500
Other Decks in Technology
See All in Technology
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
160
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.2k
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
200
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
210
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
500
ChatGPTで論⽂は読めるのか
spatial_ai_network
9
28k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
350
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
350
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
510
文字列の並び順 / Unicode Collation
tmtms
3
590
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
How STYLIGHT went responsive
nonsquared
100
6k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Six Lessons from altMBA
skipperchong
29
4.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Designing Experiences People Love
moore
143
24k
A better future with KSS
kneath
240
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Transcript
©2018 Wantedly, Inc. React Native CodePush Roppongi.js #3 29.Mar.2018 -
Yamada Yuki
©2018 Wantedly, Inc. Yuki Yamada @yamadayuki I’m an Engineer @
Wantedly I write JS, Golang, Ruby … etc. Now I focus on Frontend Engineering at Feed squad.
©2018 Wantedly, Inc. React Native CodePush ͷΛ͠·͢
©2018 Wantedly, Inc. 1. React Native / CodePush ͱ 2.
CodePush ͷಋೖഎܠɾํ๏ 3. CodePush ͷதͷͳ͠ ࣍
©2018 Wantedly, Inc. React Native / CodePush ͱ
©2018 Wantedly, Inc. React Native React Ͱهड़Ͱ͖Δ View ϥΠϒϥϦ iOS
/ Android ͷදࣔͷ෦Λ React ͷදݱํ๏Λ ͍͍ͬͯײ͡ʹهड़Ͱ͖ΔϥΠϒϥϦɻදࣔͷ෦ ͚ͩͰͳ͘ɺϩδοΫͷ෦JSͰهड़Ͱ͖Δ ͷͰɺॏཁͳϏδωεϩδοΫͷ෦Λ iOS / Android ྆ํͰڞ௨ԽͰ͖Δ͜ͱ͕Մೳʹͳͬͨੌ ͍ͭɻؤுΕΣϒͱͷڞ௨ԽՄೳɻ
©2018 Wantedly, Inc. CodePush React Native ෦Λૉૣ͘ఏڙͰ͖Δ Microsoft ͕ఏڙ͢Δ Visual
Studio App Center ͷ ػೳͷҰͭɻReact Native Cordova ͷ JS ෦ ΛϓϥοτϑΥʔϜͷ৹ࠪແ͠ͰมߋͰ͖Δπʔϧɻ React Native ༻ͷ HOC ༻ҙ͞Ε͍ͯͯɺҰಋ ೖͯ͠ϨʔϧΛෑ͚ૉૣ͍ΠςϨʔγϣϯͰ։ൃ ΛਐΊΔ͜ͱ͕Ͱ͖Δͣɻ
©2018 Wantedly, Inc. CodePush ͷಋೖഎܠɾํ๏
©2018 Wantedly, Inc. CodePush ͷಋೖഎܠ Feed νʔϜͱͯ͠ Wantedly ͷ iOS
ΞϓϦʹ৽͍͠ػೳΛ࡞Γ͔ͨͬͨɻ -> Ͱ User Growth νʔϜผͷػೳ։ൃΛ͍ͯ͠ΔͷͰ iOS ΤϯδχΞ͕͍ͳ͍ɻ -> ͔͠৽͍͠ػೳ࣮ݧΛ͍Ζ͍Ζ͍͖͍ͯͨ͠ɻ React Native / CodePush ΛͬͨΒղܾͰ͖ͦ͏
©2018 Wantedly, Inc. CodePush ಋೖํ๏ Πϯετʔϧ `yarn add react-native-code-push` ࠓճطଘΞϓϦʹಋೖ͢Δ͜ͱʹͳ͍ͬͯͨͷͰɺ
node module ΛΠϯετʔϧͨ͠ͷͪɺ CocoaPods Ͱཧ͢Δඞཁ͕͋ͬͨɻ
©2018 Wantedly, Inc. CodePush ಋೖํ๏ codePush HOC CodePush appcenter
ʹରͯ͠৽͍͠Ϗϧυ͕ ଘࡏ͢Δ͔Λ֬ೝͯ͠ɺ͋ͬͨΒμϯϩʔυ͖ͯ͠ ͍͍ͯλΠϛϯάͰ jsbundle ϑΝΠϧΛஔ͖͑ ΔɻͦΕΛఏڙ͢ΔHOC ͰίϯϙʔωϯτΛ wrap ͢Δɻ
©2018 Wantedly, Inc. CodePush ಋೖํ๏ σϓϩΠ appcenter CLI ΛͬͯσϓϩΠ͢Δɻ Visual
Studio App Center ʹσϓϩΠͨ͠Βɺ CodePush Λಋೖͨ͠ React Native ΞϓϦ͕֬ೝ ͯ͠৽͍͠ίʔυΛऔಘ͢ΔΑ͏ʹͳ͍ͬͯΔ
©2018 Wantedly, Inc. CodePush ͷಋೖഎܠ Feed νʔϜͱͯ͠ Wantedly ͷ iOS
ΞϓϦʹ৽͍͠ػೳΛ࡞Γ͔ͨͬͨɻ -> Ͱ User Growth νʔϜผͷػೳ։ൃΛ͍ͯ͠ΔͷͰ iOS ΤϯδχΞ͕͍ͳ͍ɻ -> ͔͠৽͍͠ػೳ࣮ݧΛ͍Ζ͍Ζ͍͖͍ͯͨ͠ɻ React Native / CodePush ΛͬͨΒղܾͰ͖ͦ͏ -> ߦ͚ͦ͏
©2018 Wantedly, Inc. CodePush ͷதͷͳ͠
©2018 Wantedly, Inc. CodePush தͷͳ͠ Ͳ͏ͬͯಈ͍ͯΔͷ͔ https://github.com/Microsoft/react-native- code-push/blob/ dea708813f14f1aba6d464f46e7a1883d1a491da/ CodePush.js
ΛಡΜͰΈΔ `codePushfy` ͱ `NativeCodePush` ͕ॏཁɻ
©2018 Wantedly, Inc. CodePush தͷͳ͠
©2018 Wantedly, Inc. CodePush தͷͳ͠
©2018 Wantedly, Inc. CodePush தͷͳ͠
©2018 Wantedly, Inc. CodePush தͷͳ͠
©2018 Wantedly, Inc. CodePush தͷͳ͠
©2018 Wantedly, Inc. CodePush தͷͳ͠ NativeCodePush Native ͷ bridge ͕٧·ͬͨ
moduleɻ `ios/CodePush/CodePush.m` ͱ͔ʹͦΕͧΕ ͷϓϥοτϑΥʔϜͷ࣮͕͋ΔɻͦΕ͕ React Native ͷ NativeModule ͱ͍͏ػೳͰ OS ͷڍ ಈΛJS ଆ͔ΒݺΔΑ͏ʹ expose ͞Ε͍ͯΔɻ ࠷৽ͷϏϧυΛ֬ೝ͢Δͱ͖ͱ͔ʹར༻͞ΕΔɻ
©2018 Wantedly, Inc. NativeCodePush ͷத JS͡Όͳ͍ͷͰͳ͠·ͤΜ Feed ʹϒϩάΛॻ͖·͢ɻ CodePush தͷͳ͠
©2018 Wantedly, Inc. ·ͱΊ WebΤϯδχΞͰ CodePush ͷಋೖͳΜͱ͔Ͱ͖ͨ CodePush ӡ༻͑͞Ͱ͖Ε͍͍πʔϧʹͳΔ React
Native Λͬͯૉૣ࣮͘ݧΛ͢Δ͕Ͱ͖ͨ
©2018 Wantedly, Inc. Enjoy