$30 off During Our Annual Pro Sale. View Details »
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
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
3
810
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.2k
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
Microservices rules: What good looks like
cer
PRO
0
1.5k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
270
Developing static sites with Ruby
okuramasafumi
0
300
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
2.9k
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
GraphQLとの向き合い方2022年版
quramy
50
14k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How STYLIGHT went responsive
nonsquared
100
6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
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