Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
React NativeからNativeアプリへ ~スタートアップ企業における 「機能開発と...
Search
株式会社ビットキー / Bitkey Inc.
PRO
September 11, 2022
Technology
2.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
React NativeからNativeアプリへ ~スタートアップ企業における 「機能開発と保守性担保」の両立への挑戦~
株式会社ビットキー / Bitkey Inc.
PRO
September 11, 2022
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
120
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
460
Swift&Xcodeのバージョンアップにまつわる怖かった思い出 / Scary Memories of Swift and Xcode Updates
bitkey
PRO
0
230
iOS/Androidの二刀流エンジニアがFlutter & TypeScriptへ越境後の現在地 - Flutterがメインになって見えた景色と現在の醍醐味 / Dual-Platform Mobile Engineer Shifts to Flutter & TypeScript - The View and Real Thrill of Going Flutter-First
bitkey
PRO
0
650
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
580
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
650
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
400
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
370
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
540
Other Decks in Technology
See All in Technology
FOSS4Gを活用した自治体業務DXの試み
470715
0
150
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
130
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
0
160
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
690
会社説明資料
persolserverworks
0
9.7k
DGX Spark でどこまでハッキングができるのか?
kash1064
0
810
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
170
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
340
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
AI時代のPRレビューにどう向き合うか?
kairim0
1
200
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.8k
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
120
Featured
See All Featured
The Curse of the Amulet
leimatthew05
3
15k
Designing for Timeless Needs
cassininazir
1
520
Agile that works and the tools we love
rasmusluckow
331
22k
Designing Experiences People Love
moore
143
24k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A Soul's Torment
seathinner
8
3.7k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Paper Plane
katiecoart
PRO
4
54k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
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.ɹ ·ͱΊ
͓Βͤ ҰॹʹੈͷதΛม͑Δ ϞόΠϧΞϓϦΛ࡞Γ·͠ΐ͏ʂ