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からNativeアプリへ ~スタートアップ企業における 「機能開発と...
Search
株式会社ビットキー / Bitkey Inc.
September 11, 2022
Technology
0
1.9k
React NativeからNativeアプリへ ~スタートアップ企業における 「機能開発と保守性担保」の両立への挑戦~
株式会社ビットキー / Bitkey Inc.
September 11, 2022
Tweet
Share
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
"発信文化"をどうやって計測する?技術広報のKPI探索記/How do we measure communication culture?
bitkey
4
340
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
3
600
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
150
型化からはじめる時間づくり/Creating Time Starting with Modeling
bitkey
1
90
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
300
心に火を灯すヒントは自分の中にある/The clue to lighting a fire in your heart is within you.
bitkey
1
150
“感動”の伝播によって 技術広報の心に火が灯った瞬間/By spreading excitement The moment when the hearts of the technical public relations staff were lit by the spread of “excitement”.
bitkey
0
400
属人化のピンチをチャンスに変える! メンバーの成長とチーム化を実現した オンボーディング/Turning the pinch of belonging into an opportunity! Onboarding with member growth and teaming
bitkey
1
140
なぜ「Event Sourcing」を選択したのか〜事実に基づくことの重要性〜/Why did we choose "Event Sourcing"?
bitkey
1
720
Other Decks in Technology
See All in Technology
Vibe Coding Tools
ijin
1
290
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク
sonic
0
270
Developer 以外にこそ使って欲しい Amazon Q Developer
mita
0
170
Sleep-time Compute: LLM推論コスト削減のための事前推論
sergicalsix
1
150
PythonツールであるpygnmiをSONiCのgNMIに対して使ってみた
sonic
0
140
Part1 GitHubってなんだろう?その2
tomokusaba
2
820
Google Cloud Next 2025 Recap 生成AIモデルとマーケティングでのコンテンツ生成 / Generative AI models and content creation in marketing
kyou3
0
310
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
2
250
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
150
Google CloudのAI Agent関連のサービス紹介
shukob
0
120
DynamoDB のデータを QuickSight で可視化する際につまづいたこと/stumbling-blocks-when-visualising-dynamodb-with-quicksight
emiki
0
170
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
170
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
It's Worth the Effort
3n
184
28k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Six Lessons from altMBA
skipperchong
28
3.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
580
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Designing for humans not robots
tammielis
253
25k
Transcript
3FBDU/BUJWF͔Β/BUJWFΞϓϦ dελʔτΞοϓاۀʹ͓͚Δ ʮػೳ։ൃͱอकੑ୲อʯͷཱ྆ͷઓd 4IPHP4BJUP
0VUMJOF 1. workhubʹ͍ͭͯ 2. ελʔτΞοϓʹ͓͚Δ ιϑτΣΞ։ൃʹٻΊΒΕΔͷ 3. ؇͔ͳNativeԽ 4. NativeԽʹΑΓ
ಘΒΕͨͷ / ͔ͬͨ͠
ࡈ౻ޛ 4IPHP4BJUP גࣜձࣾϫʔΫεΞϓϦέʔγϣϯζʹೖࣾ &$ύοέʔδͷ$.4ྖҬͷ։ൃͳͲΛ୲ ϏοτΩʔʹೖࣾ ϞόΠϧΞϓϦʮCJUMPDLʯͷ্ཱͪ͛ɾ࣮Λ୲ CJULFZQMBUGPSNνʔϜҟಈ إೝূٕज़Λར༻ͨ͠ΞϓϦέʔγϣϯ։ൃͳͲʹ
ܞΘΔ ϞόΠϧΞϓϦʮXPSLIVCʯͷ νʔϜϚωʔδϟʔͱͯ͠։ൃʹܞΘΔ
workhubʹ͍ͭͯ
1. workhubʹ͍ͭͯ
ελʔτΞοϓʹ͓͚Δ ιϑτΣΞ։ൃʹٻΊΒΕΔͷ
2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ 0→1Λ͢ΔͨΊͷεϐʔυײΛ࣋ͬͨػೳ։ൃ 1→10ʹ͢Δʹ͋ͨͬͯาΈΛࢭΊͳ͍ͨΊͷอकੑͷ୲อ
ʮอकੑʯʹ͍ͭͯ ෆ۩߹ΛຒΊࠐΈʹ͘͘͢ΔͨΊͷͷ ෆ۩߹ൃੜ࣌ͷӨڹൣғΛ͔Γ͘͢͢ΔͨΊͷͷ ɹকདྷʹΘͨͬͯ҆શͳػೳ։ൃΛ͘͢͢͠Δ ܧଓతʹ߈ΊΔɾվળ͢ΔͨΊʹඞཁͳͷ ˠ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
bitlockApp workhubApp 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
͜ͷΞϓϦͷอकੑΛܧଓతʹҡ࣋͢ΔʹͲ͏ͨ͠ΒΑ͍͔ʁ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
/BUJWFԽΛߟҊͨͭ͠ͷཧ༝ ɾiOSUpdateͷैੑͷ՝ײ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
/BUJWFԽΛߟҊͨͭ͠ͷཧ༝ ɾiOSUpdateͷैੑͷ՝ײ ɾۃྗϥΠϒϥϦʹґଘ͠ͳ͍ٕज़ར༻ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
/BUJWFԽΛߟҊͨͭ͠ͷཧ༝ ɾiOSUpdateͷैੑͷ՝ײ ɾۃྗϥΠϒϥϦʹґଘ͠ͳ͍ٕज़ར༻ ɾBuild࣌ؒͷ͞ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
/BUJWFԽΛߟҊͨͭ͠ͷཧ༝ ɾiOSUpdateͷैੑͷ՝ײ ɾۃྗϥΠϒϥϦʹґଘ͠ͳ͍ٕज़ར༻ ɾBuild࣌ؒͷ͞ ɾAndroidΞϓϦͷLaunchʹ࣌ؒత༛༧͕͋ͬͨ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
XPSLIVC"QQͷ/BUJWFԽʹ͍ͭͯ બࢶ2ͭ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
XPSLIVC"QQͷ/BUJWFԽʹ͍ͭͯ બࢶ2ͭ ɾϑϧNativeͰ1͔ΒผΞϓϦͱͯ͠࡞Γ͢ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
XPSLIVC"QQͷ/BUJWFԽʹ͍ͭͯ બࢶ2ͭ ɾϑϧNativeͰ1͔ΒผΞϓϦͱͯ͠࡞Γ͢ ɾطଘReact NativeΞϓϦΛঃʑʹNativeԽ͢Δ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
࣌ͷνʔϜڥʹ͍ͭͯ ɾ։ൃରworkhubAppͷΈ ɾ։ൃϝϯόʔ3໊ XPSLIVC"QQͷ/BUJWFԽʹ͍ͭͯ 2.ɹελʔτΞοϓʹ͓͚ΔιϑτΣΞ։ൃʹٻΊΒΕΔͷ
؇͔ͳNativeԽ
/BUJWFԽͷํ๏ U ػ ೳ ։ ൃ ͷ ݴ ޠ
ׂ ߹ React Native Swift 3.ɹ ؇͔ͳNativeԽ
/BUJWFԽͷํ๏ U ػ ೳ ։ ൃ ͷ ݴ ޠ
ׂ ߹ React Native Swift शಘظ 3.ɹ ؇͔ͳNativeԽ
/BUJWFԽͷํ๏ U ػ ೳ ։ ൃ ͷ ݴ ޠ
ׂ ߹ React Native Swift शಘظ शख़ظ 3.ɹ ؇͔ͳNativeԽ
/BUJWFԽͷํ๏ 1. ϏδωεϩδοΫΛSwiftʹدͤΔ 1. ػೳͷগͳ͍ը໘ը໘͝ͱSwiftUIʹϦϓϨΠε 1. ػೳ͕ෳࡶͳը໘ίϯϙʔωϯτ୯ҐͰ SwiftUIʹϦϓϨΠε 3.ɹ
؇͔ͳNativeԽ
+BWB4DSJQU 3FBDU/BUJWF #SJEHF #VTJOFTT -PHJD 3.ɹ ؇͔ͳNativeԽ
+BWB4DSJQU axios 3.ɹ ؇͔ͳNativeԽ
+BWB4DSJQU 3FBDU/BUJWF #SJEHF #VTJOFTT -PHJD axios Alamofire 3.ɹ ؇͔ͳNativeԽ
+BWB4DSJQU 3FBDU /BUJWF #SJEHF 3$57JFX .BOBHFS 4XJGU6*7JFX 3.ɹ ؇͔ͳNativeԽ
workhubApp workhubApp 3.ɹ ؇͔ͳNativeԽ
NativeԽʹΑΓ ಘΒΕͨͷ / ͔ͬͨ͠
؇͔ͳ/BUJWFԽΛ͢Δ͜ͱͰಘΒΕͨͷ ɾBLENFCɾإೝࣝͳͲͷػೳ܈ΛReact NativeͷϥΠϒϥϦʹ ҰཔΒ࣮ͣ ɾϥΠϒϥϦͷSwiftPackageManagerҠߦ: 4ׂ΄Ͳ → ͜ΕʹΑΓBuild࣌ؒΛ20΄Ͳ·ͰʹॖΊΔ͜ͱʹޭ 4.ɹ
NativeԽʹΑΓಘΒΕͨͷ
/BUJWFԽΛਐΊ্͍ͯ͘Ͱোͱͳͬͨͷ ɾϥΠϒϥϦҠߦʹ͍ͯճΔσάϨͷةݥੑ ɾSwiftUIಛ༗ͷUI࡞ͷ͠͞ෆ۩߹ͷରॲ ɾSwiftUIͷΈͰ࡞Γਏ͍UI 4.ɹ NativeԽʹ͓͍͔ͯͬͨ͠
࣌ܥྻͰͷৼΓฦΓ SwiftUI औΓࠐΈ։࢝ 4.ɹ NativeԽʹΑΓಘΒΕͨͷ Bridgeύλʔϯ ࢼߦظ NativeԽઓུ ࿅Γ࢝Ί
৽ن։ൃΛ SwiftUIʹҠߦ طଘViewͷSwiftUI ஔ Concurrency ରԠ
ϓϩμΫτͱνʔϜʹ߹ͬͨख๏Λ࿅Δ͜ͱͰ ػೳ։ൃͱอकੑ୲อͷཱ྆ୡՄೳ 4.ɹ ·ͱΊ
͓Βͤ ҰॹʹੈͷதΛม͑Δ ϞόΠϧΞϓϦΛ࡞Γ·͠ΐ͏ʂ