Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
iOSΞϓϦͷΞʔΩςΫνϟʹ͍ͭͯ ߟ͑ͯͨͲΓண͍ͨ݁ DevSapษڧձ 18/07/28
Slide 2
Slide 2 text
ੁݪ ༞ @yusuga_
Slide 3
Slide 3 text
ਪ͠ΞʔΩςΫνϟ ReactorKit
Slide 4
Slide 4 text
• ReactorKitϦΞΫςΟϒͰ୯ํͷ ΞʔΩςΫνϟΛߏங͢ΔͨΊͷ Framework
Slide 5
Slide 5 text
Flux + Reactive Programming
Slide 6
Slide 6 text
iOSΞϓϦͷΞʔΩςΫ νϟʹ͍ͭͯߟ͑Δ DevSapษڧձ 17/05/20 MVC2/MVVM/ReactorKitͷൺֱ
Slide 7
Slide 7 text
ReactorKitΛֶͿγϦʔζ ೖฤ/جૅฤ/࣮ફฤ
Slide 8
Slide 8 text
ReactorKit Meetup Japan LTͰൃද
Slide 9
Slide 9 text
ReactorKit Meetup Japan Report ~࡞ऀdevxoulʹΑΔجௐߨԋͱ࣮ફLT~
Slide 10
Slide 10 text
ReactorKitΛਪ͍ͯ͠Δཧ༝
Slide 11
Slide 11 text
ʓʓͷਖ਼͍͠ઃܭΘ͔Γ·͔͢ʁ • ʓʓ → MVC, MVVM, MVP, Clean Architecture, VIPER • ֶशίετ • ϩʔΧϧ/ࣾϧʔϧ͕Ճ͞Εɺ͞Βʹֶशίετ
Slide 12
Slide 12 text
ΞʔΩςΫνϟΛਖ਼͘͠ ࣮͢Δͷ͍͠
Slide 13
Slide 13 text
• ReactorKitɺΞʔΩςΫνϟΛߏங͢ΔͨΊͷFramework • ֶशίετ͕খ͍͞ (※ RxSwiftͷཧղඞਢ) • Flux෦Λࣗಈߏஙͯ͘͠ΕΔͷͰίʔυྔ͕ݮΔ
Slide 14
Slide 14 text
ReactorKit Meetup JapanͷΞϑλʔύʔςΟʹͯ • ΞʔΩςΫνϟʹڵຯ͋Δਓ͕ଟ͍ͷͰ৭ʑͳΛฉ͘ • Ωʔϫʔυͱͯ͠ɺFlux, Redux, MVVM, Clean Architecture • ʓʓΛϕʔεʹ˚˚ͷҰ෦औΓೖΕͯΔͱ͍͏͕ଟ͔ͬͨ • ΞʔΩςΫνϟͷ֦ுආ͚Δ͖ͩͱࢥ͍ͬͯͨ • Ή͠Ζ൚༻ΞʔΩςΫνϟΛͦͷ··ద༻͢Δํ͕ٯʹί ετ૿ʹͳΔ͜ͱ…ʁ
Slide 15
Slide 15 text
ͲͷϓϩδΣΫτʹϑΟοτ͢Δ ൚༻ΞʔΩςΫνϟΛ୳͍ͯͨ͠ • ݬͩͬͨ… • ͦΜͳͷଘࡏ͠ͳ͍ • ϓϩδΣΫτͷن͕খ͚͞ΕͳΜͰΑ͘ɺن͕େ͖͚ Εແཧʹ߹ΘͤΔඞཁͳ͍ • νʔϜʢ࣮ऀʣͷΈͰ͋ͬͨΓɺઃܭࢥʹࠨӈ͞ΕΔ
Slide 16
Slide 16 text
݁
Slide 17
Slide 17 text
൚༻తͳΞʔΩςΫνϟ͋͘·ͰϕʔεͰ ඞཁͰ͋ΕϓϩδΣΫτʹϚον͢ΔΑ͏ ΞʔΩςΫνϟΛ֦ு͢Δ
Slide 18
Slide 18 text
ཱྀͷऴᖼ • ΞʔΩςΫνϟΛ୳ཱྀ͢ऴΘΓ • ݸਓతʹReactorKitΛϕʔεʹ͍ͯ͘͠ • ίʔυྔ͕ݮΓɺ؆୯ʹਖ਼͍͠ΞʔΩςΫνϟ͕ߏஙͰ͖Δ • ࠓͷॴࠔͬͨ͜ͱͳ͘ɺಠ֦ࣗுඞཁͱ͍ͯ͠ͳ͍ • ԿΑΓઃܭࢥ͕͖
Slide 19
Slide 19 text
ʢଓʣReactorKit Meetup JapanͷΞϑλʔύʔςΟʹͯ • ৭ʑͳΛฉ͍ͯͯɺͳͥ൚༻తͳΞʔΩςΫνϟ͕ϑΟοτ ͠ͳ͘ͳͬͯ͘ΔΜͩΖ͏ͱٙ • ߏͷෳࡶԽ • Ұ෦ίϯϙʔωϯτͷංେԽ • ίϯϙʔωϯτؒͷґଘؔ
Slide 20
Slide 20 text
࣍ͷཱྀ • Dependency Injection (DI) • ґଘΦϒδΣΫτͷೖ • ࠓ·ͰSwinjectΛServiceʹରͯ͠࠾༻͍ͯͨ͘͠Β͍
Slide 21
Slide 21 text
ൺֱ • DIͳ͠ • DI: खಈ, Pure • ಈతDIίϯςφ: Swinject, Cleanse • ੩తDIίϯςφ: DIKit, Cake pattern, Reader Monad • Service Locator ύλʔϯ • Dependency Lookup
Slide 22
Slide 22 text
࠷༗ྗਪ͠DI Pure
Slide 23
Slide 23 text
Pure DI • Pure DI by Mark Seemann • DIίϯςφΛ༻͠ͳ͍DI • ݸਓతʹಈతDIίϯςφڧ͍੩త ܕ͚Ͱ͋ΔSwiftʹϚον͠ͳ͍ͷͰ ͱײ͡Δ ! • ίʔυྔݮָͬͯͳͷͰ͕͢…
Slide 24
Slide 24 text
Pure DI in Swift • devxoul/Pure • ࡞ऀReactorKitͱಉ͡ʂʂ • v1.0.0 • ϥΠϒϥϦࣗମඇৗʹܰྔ • ׆༻͢ΔͨΊʹDIͷ͕ࣝඞཁ • ReactorKitʹҾ͖ଓ͖ઃܭࢥ͕ ͖ • ݱࡏ࣮Ҋ݅ʹ࠾༻͠ઈࢍࢼߦࡨޡத
Slide 25
Slide 25 text
Pureͷ։ൃཧ༝Λฉ͍ͯΈͨ • ReactorKitͷαϯϓϧͷ1ͭͰ͋ΔDrrribleͷ࠷৽Swinject͕ আ͞ΕɺPureΛΘͳ͍Pure DIͷ࣮ʹͳ͍ͬͯΔ • ͦͷཧ༝ΛReactorKit Meetup JapanͷΞϑλʔύʔςΟͰ࡞ऀ ͷಉ྅ͷํʹ࣭ͨ͠ • ಈతDIίϯςφͷ࣮ϛεϥϯλΠϜͰ͔͠ݕͰ͖ͳ͍ ͷΛʹײ͔ͨ͡Β • ࣮ϛείϯύΠϧͷ࣌Ͱݕɾղܾ͍ͨ͠
Slide 26
Slide 26 text
DIͷཱྀ
Slide 27
Slide 27 text
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ