awa-caswift-11

0a2ca117f7695642ef040b82f734e8e8?s=47 Jin Sasaki
January 30, 2020

 awa-caswift-11

CA.swift #11 での登壇資料です。
許諾の関係で一部登壇内容・画像が抜けています。

0a2ca117f7695642ef040b82f734e8e8?s=128

Jin Sasaki

January 30, 2020
Tweet

Transcript

  1. 5೥໨ʹಥೖͨ͠AWAͷ ΞϓϦઃܭ 2020/01/30 Jin Sasaki

  2. iOS Engineer 2015/04 - CyberAgent
 2015/06 - AWA Jin Sasaki

    jinSasaki @sasakky_j
  3. None
  4. Agenda 1. AWA 2. History 3. v1.0 → v2.0 4.

    Apple Watch 5. Future
  5. None
  6. • ఆ੍ֹԻָετϦʔϛϯάαʔϏε • αϙʔτOS iOS 9.0 ~

  7. ମ੍ iOS Android Server Backend × 10
 (avex) PC/Web Design

    Analysis Direction QA ίϯςϯπ
 ϓϩσϡʔε
 
 5໊ ίϯςϯπ
 Ϛωδϝϯτ
 
 6໊ ϓϩϞʔγϣϯ
 
 4໊
  8. History

  9. 2014 08 ϓϩδΣΫτൃ଍ 10 ։ൃମ੍มߋ

  10. 2015 02-03 ։ൃମ੍มߋ 05 AWA 1.0 ϩʔϯν 06 ։ൃମ੍มߋ &

    SwiftԽ։࢝ 10 ։ൃମ੍มߋ 08 STANDARDϓϥϯϦϦʔε
  11. 2016 02 CarPlayରԠ 11 FREEϓϥϯϦχϡʔΞϧ 06 ։ൃମ੍มߋ 03 ։ൃମ੍มߋ

  12. 2017 02 WidgetରԠ 07 Իָೝࣝػೳ 11 ΠίϥΠβػೳ

  13. 2018 02 SwiftԽ׬ྃ 04 AWA 2.0 ։ൃணख 12 TikTok࿈ܞ 07

    ೥ؒϓϥϯ 09 ৽τϥΠΞϧ
  14. 2019 01 AWA v2.0 ϦϦʔε 10 Apple WatchΞϓϦϦϦʔε 09 ೝূج൫Ҡߦ

    & SiriରԠ 04 ࣸਅͰԻָػೳ 07 ։ൃମ੍มߋ
  15. v1.0 → v2.0

  16. ϓϩμΫτಛੑ • ΦϑϥΠϯͰ΋ར༻Ͱ͖Δɾ࠶ੜͰ͖Δ • ΦϯϥΠϯͱಉ౳ʹ࢖͑ΔϨϕϧͰΩϟογϡ͕ඞཁ • ָۂ৘ใͷؔ܎ੑ • τϥοΫ/ΞϧόϜ/ΞʔςΟετ/ϓϨΠϦετ/Ϣʔβ •

    ϓϨΠϠʔ͸Ͳͷը໘͔ΒͰͷΞΫηεͰ͖Δ
  17. v1 Architecture View Controller Model View ViewController Service Realm API

  18. v1 Architecture View Controller Model View ViewController Service Realm API

    State State Logic Logic State Realm
 Object
  19. TSURAMI • MVC and Massive View Controller • 2,000 -

    3,000ߦ΋͟Β • View - Controllerؒͷนͷബ͞ • View͢Βঢ়ଶΛ͍࣋ͬͯΔ • Controller͕͔ͳΓͷ੹຿Λ͍࣋ͬͯΔ • Model૚ͷ໾ׂ͕ෆ໌ྎ • ϩδοΫΛ࣋ͭEntity • ສೳManager • ਆUtil • ͢΂ͯͷ૚ͰRealmʹґଘ • ϦϓϨΠε͕ࠔ೉
  20. v2.0 - εϦϜԽϓϩδΣΫτ - • ϑϧεΫϥον։ൃ • ٕज़બఆ΋·ͬ͞Βͳঢ়ଶ͔Βελʔτ • Background

    • ͜ͷ3೥ؒͰ૿͖͑ͯͨΞϓϦͷ࢓༷ɺػೳɺUI͢΂ͯΛҰ౓͢΂ͯ੔ཧ • ෆཁͳ΋ͷ/ॏෳ͍ͯ͠Δ΋ͷΛഉআ͠Ϣʔβͷ࢖͍উख͔ΒΧςΰϥΠζ • ͢΂ͯͷը໘ɾػೳʹख͕ೖΔ → ࡞Γ௚͢ྑ͍ػձ
  21. GOAL of v2.0 Design • ֤੹຿ʢಛʹModel૚ʣΛ໌֬ʹ͠ɺ୭΋͕ཧղɾमਖ਼Ͱ͖Δ • ঢ়ଶΛ֤ॴʹࢄΒ͹ͤͳ͍͜ͱ • Realm͸࢖͍ͭͭɺRealmґଘ͔Βͷ୤٫ʢϦϓϨΠε͠΍͍͢؀ڥʣ

    • Reactive Programming
  22. ٕज़બఆ - ઃܭ - MVC MVP MVVM Flux Redux Clean

  23. ٕज़બఆ - ઃܭ - MVC MVP MVVM Flux Redux Clean

  24. v2 Architecture UICatalog AWA Core Domain Data UI

  25. v2 Architecture UICatalog AWA Core Domain Data UI realm API

    Repository DataStore State Logic Logic Realm
 Object
  26. None
  27. Timeline

  28. Timeline

  29. ϑϧεΫϥον։ൃ • ΍ͬͯΑ͔ͬͨ • v1ͷෛ࠴ղফʹ͸ߩݙͰ͖ͨ͠ɺ৽ن։ൃ͸΍Γ΍͘͢ͳͬͨ • ͔͠͠ࣄۀͳͷͰଞʹ΋΍Δ͜ͱ͸͋Γɺฒߦͯ͠طଘͷ։ൃ͕ൃੜ͢Δͷ͸େม • ϞνϕʔγϣϯΩʔϓ͸େม •

    ং൫͸ෛ࠴ղফͰεοΩϦ • ్த͔ΒҰาਐΜͰೋาԼ͕Δײ֮ • ʮ͜Ε͸͍͔ͭ׬੒͢Δͷ͔….ʁʯ͕ͣͬͱ಄ʹډ࠲Δ
  30. Apple Watch

  31. AWA for Apple Watch • iPhoneΞϓϦͷϦϞʔτίϯτϩʔϧ • ୯ମͰͷετϦʔϛϯά࠶ੜ ※ watchOS

    6Ҏ߱ & Series 3Ҏ߱ • MVVM with SwiftUI × Combine • watchOS 6.0Ҏ߱ͳͷͰ߈Ί·ٕͬͨ͘ज़બఆ
  32. Architecture View ViewModel Model View ViewModel Connectivity API CoreData iPhone

    ObservableObject AnyPublisher Request @ObservedObject
  33. TSURAMI • ࢖͑ͳ͍ओཁϥΠϒϥϦ͕·ͩ·ͩଟ͍ • Firebase, Crashlytics, XCTest… • ΞϓϦసૹ଎౓͕ۃ୺ʹ஗͍ͷͰόΠφϦΛখ͘͢͞Δඞཁ͕͋Δ •

    Realm, RxSwift͸அ೦ → CoreDataͱCombine΁ • ͦΕͰ΋࣮ػͰσόοά͢Δͷʹ1ճ15෼ • watchOS × SwiftUIىҼͷෆ۩߹(Xcode beta؀ڥ͚͔ͩͩͬͨ΋Ͱ͕͢) • SwiftUIͷ @Published Λ࢖͏ͱΫϥογϡ • ભҠޙʹભҠݩͷViewͷbody͕ߋ৽͞ΕΔͱભҠઌͰΫϥογϡ • EnvironmentObject͕Ҿ͚ͳ͍
  34. Future

  35. ࠓޙͷઃܭपΓͷऔΓ૊Έ • ViewController͔Β੹຿Λണ͕͢ • VC͕ঢ়ଶΛ͍࣋ͬͯΔέʔεɺϩδοΫΛ͍࣋ͬͯΔέʔε͕ଘࡏ͢ΔͷͰ෼ׂ • PlatformΛ·͍ͨͩઃܭͷڞ௨Խ • ࠶ੜΩϡʔߏ଄ͳͲɺiOS/Android/PCʹґଘͤͣڞ௨࢓༷/࣮૷Ͱ͋Δ΂͖ •

    ςελϏϦςΟͷ޲্
  36. None