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
awa-caswift-11
Search
Jin Sasaki
January 30, 2020
Programming
0
1.1k
awa-caswift-11
CA.swift #11 での登壇資料です。
許諾の関係で一部登壇内容・画像が抜けています。
Jin Sasaki
January 30, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
CSC307 Lecture 12
javiergs
PRO
0
460
CSC307 Lecture 15
javiergs
PRO
0
220
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
250
Ruby x Terminal
a_matsuda
7
590
開発ステップを細分化する、破綻しないAI開発体制
kspace
0
110
AHC061解説
shun_pi
0
340
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
230
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
2
140
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
360
Event Storming
hschwentner
3
1.3k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
エンジニアに許された特別な時間の終わり
watany
106
240k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Building Adaptive Systems
keathley
44
2.9k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Ace a Technical Interview
jacobian
281
24k
BBQ
matthewcrist
89
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
We Are The Robots
honzajavorek
0
190
Designing Experiences People Love
moore
143
24k
Transcript
5ʹಥೖͨ͠AWAͷ ΞϓϦઃܭ 2020/01/30 Jin Sasaki
iOS Engineer 2015/04 - CyberAgent 2015/06 - AWA Jin Sasaki
jinSasaki @sasakky_j
None
Agenda 1. AWA 2. History 3. v1.0 → v2.0 4.
Apple Watch 5. Future
None
• ఆ੍ֹԻָετϦʔϛϯάαʔϏε • αϙʔτOS iOS 9.0 ~
ମ੍ iOS Android Server Backend × 10 (avex) PC/Web Design
Analysis Direction QA ίϯςϯπ ϓϩσϡʔε 5໊ ίϯςϯπ Ϛωδϝϯτ 6໊ ϓϩϞʔγϣϯ 4໊
History
2014 08 ϓϩδΣΫτൃ 10 ։ൃମ੍มߋ
2015 02-03 ։ൃମ੍มߋ 05 AWA 1.0 ϩʔϯν 06 ։ൃମ੍มߋ &
SwiftԽ։࢝ 10 ։ൃମ੍มߋ 08 STANDARDϓϥϯϦϦʔε
2016 02 CarPlayରԠ 11 FREEϓϥϯϦχϡʔΞϧ 06 ։ൃମ੍มߋ 03 ։ൃମ੍มߋ
2017 02 WidgetରԠ 07 Իָೝࣝػೳ 11 ΠίϥΠβػೳ
2018 02 SwiftԽྃ 04 AWA 2.0 ։ൃணख 12 TikTok࿈ܞ 07
ؒϓϥϯ 09 ৽τϥΠΞϧ
2019 01 AWA v2.0 ϦϦʔε 10 Apple WatchΞϓϦϦϦʔε 09 ೝূج൫Ҡߦ
& SiriରԠ 04 ࣸਅͰԻָػೳ 07 ։ൃମ੍มߋ
v1.0 → v2.0
ϓϩμΫτಛੑ • ΦϑϥΠϯͰར༻Ͱ͖Δɾ࠶ੜͰ͖Δ • ΦϯϥΠϯͱಉʹ͑ΔϨϕϧͰΩϟογϡ͕ඞཁ • ָۂใͷؔੑ • τϥοΫ/ΞϧόϜ/ΞʔςΟετ/ϓϨΠϦετ/Ϣʔβ •
ϓϨΠϠʔͲͷը໘͔ΒͰͷΞΫηεͰ͖Δ
v1 Architecture View Controller Model View ViewController Service Realm API
v1 Architecture View Controller Model View ViewController Service Realm API
State State Logic Logic State Realm Object
TSURAMI • MVC and Massive View Controller • 2,000 -
3,000ߦ͟Β • View - Controllerؒͷนͷബ͞ • View͢Βঢ়ଶΛ͍࣋ͬͯΔ • Controller͕͔ͳΓͷΛ͍࣋ͬͯΔ • Modelͷׂ͕ෆ໌ྎ • ϩδοΫΛ࣋ͭEntity • ສೳManager • ਆUtil • ͯ͢ͷͰRealmʹґଘ • ϦϓϨΠε͕ࠔ
v2.0 - εϦϜԽϓϩδΣΫτ - • ϑϧεΫϥον։ൃ • ٕज़બఆ·ͬ͞Βͳঢ়ଶ͔Βελʔτ • Background
• ͜ͷ3ؒͰ૿͖͑ͯͨΞϓϦͷ༷ɺػೳɺUIͯ͢ΛҰͯ͢ཧ • ෆཁͳͷ/ॏෳ͍ͯ͠ΔͷΛഉআ͠Ϣʔβͷ͍উख͔ΒΧςΰϥΠζ • ͯ͢ͷը໘ɾػೳʹख͕ೖΔ → ࡞Γ͢ྑ͍ػձ
GOAL of v2.0 Design • ֤ʢಛʹModelʣΛ໌֬ʹ͠ɺ୭͕ཧղɾमਖ਼Ͱ͖Δ • ঢ়ଶΛ֤ॴʹࢄΒͤͳ͍͜ͱ • Realm͍ͭͭɺRealmґଘ͔Βͷ٫ʢϦϓϨΠε͍͢͠ڥʣ
• Reactive Programming
ٕज़બఆ - ઃܭ - MVC MVP MVVM Flux Redux Clean
ٕज़બఆ - ઃܭ - MVC MVP MVVM Flux Redux Clean
v2 Architecture UICatalog AWA Core Domain Data UI
v2 Architecture UICatalog AWA Core Domain Data UI realm API
Repository DataStore State Logic Logic Realm Object
None
Timeline
Timeline
ϑϧεΫϥον։ൃ • ͬͯΑ͔ͬͨ • v1ͷෛ࠴ղফʹߩݙͰ͖ͨ͠ɺ৽ن։ൃΓ͘͢ͳͬͨ • ͔͠͠ࣄۀͳͷͰଞʹΔ͜ͱ͋Γɺฒߦͯ͠طଘͷ։ൃ͕ൃੜ͢Δͷେม • ϞνϕʔγϣϯΩʔϓେม •
ং൫ෛ࠴ղফͰεοΩϦ • ్த͔ΒҰาਐΜͰೋาԼ͕Δײ֮ • ʮ͜Ε͍͔ͭ͢Δͷ͔….ʁʯ͕ͣͬͱ಄ʹډ࠲Δ
Apple Watch
AWA for Apple Watch • iPhoneΞϓϦͷϦϞʔτίϯτϩʔϧ • ୯ମͰͷετϦʔϛϯά࠶ੜ ※ watchOS
6Ҏ߱ & Series 3Ҏ߱ • MVVM with SwiftUI × Combine • watchOS 6.0Ҏ߱ͳͷͰ߈Ί·ٕͬͨ͘ज़બఆ
Architecture View ViewModel Model View ViewModel Connectivity API CoreData iPhone
ObservableObject AnyPublisher Request @ObservedObject
TSURAMI • ͑ͳ͍ओཁϥΠϒϥϦ͕·ͩ·ͩଟ͍ • Firebase, Crashlytics, XCTest… • ΞϓϦసૹ͕ۃʹ͍ͷͰόΠφϦΛখ͘͢͞Δඞཁ͕͋Δ •
Realm, RxSwiftஅ೦ → CoreDataͱCombine • ͦΕͰ࣮ػͰσόοά͢Δͷʹ1ճ15 • watchOS × SwiftUIىҼͷෆ۩߹(Xcode betaڥ͚͔ͩͩͬͨͰ͕͢) • SwiftUIͷ @Published Λ͏ͱΫϥογϡ • ભҠޙʹભҠݩͷViewͷbody͕ߋ৽͞ΕΔͱભҠઌͰΫϥογϡ • EnvironmentObject͕Ҿ͚ͳ͍
Future
ࠓޙͷઃܭपΓͷऔΓΈ • ViewController͔ΒΛണ͕͢ • VC͕ঢ়ଶΛ͍࣋ͬͯΔέʔεɺϩδοΫΛ͍࣋ͬͯΔέʔε͕ଘࡏ͢ΔͷͰׂ • PlatformΛ·͍ͨͩઃܭͷڞ௨Խ • ࠶ੜΩϡʔߏͳͲɺiOS/Android/PCʹґଘͤͣڞ௨༷/࣮Ͱ͋Δ͖ •
ςελϏϦςΟͷ্
None