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
RxSwift勉強会
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yusuke Hosonuma
May 31, 2016
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RxSwift勉強会
Yusuke Hosonuma
May 31, 2016
More Decks by Yusuke Hosonuma
See All by Yusuke Hosonuma
KotlinTest で始める Property-based Testing/kotlintest-property-based-testing
yusukehosonuma
2
1.6k
Marzipan の正体は何だったのか そして SwiftUI の衝撃/wwdc19_marzipan_swiftui
yusukehosonuma
2
980
標準パッケージにおけるテストでの利用例から学ぶ testing / quick パッケージ/golang-testing-quick
yusukehosonuma
4
12k
Swift で ParameterizedTest をやってみた話/swift-parameterized-test
yusukehosonuma
4
2.3k
Property-based test beginning with SwiftCheck
yusukehosonuma
1
6.2k
XCTest(再)入門/reintroduction-to-xctest
yusukehosonuma
0
650
ソースコードから読み解く - Quick はどのように実装されているのか?/quick-code-reading
yusukehosonuma
7
11k
Swift 4.2 はどのような進化をしているのか/whats-new-swift42
yusukehosonuma
16
15k
HTTPモックライブラリ「Mockingjay」を使ってみた話/swift-mockingjay
yusukehosonuma
5
4.3k
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Designing for humans not robots
tammielis
254
26k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Navigating Weather and Climate Data
rabernat
0
220
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
A Tale of Four Properties
chriscoyier
163
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Amusing Abliteration
ianozsvald
1
200
Transcript
RxSwiftษڧձ ͦͷ0
ࣗݾհ • Yusuke Hosonuma • ݴޠJavaɺObjective-CɺSwiftɺଞ৭ʑ • ʢ࠷ۙͷʣ࠲ӈͷɿ ͝จ10ؒอकՄೳͳίʔυͰ͔͢ʁ •
QiitaͰ1,000͑ͨΑʂ
RxSwift ʢ͋ʔΔ͍͑ͬ͘͢͢;ͱʣ
͊͞RxSwiftॻͧ͘ʂ
None
ʁ
None
ʂʁ
None
ͦΜͳ͜ͱʹ ͳΒͳ͍Α͏ʹ
·ͣ
ϦΞΫςΟϒ ϓϩάϥϛϯάͷ
ߟ͑ํ͔Βֶ΅͏ʂ
ࠓͷຊ
ϦΞΫςΟϒϓϩάϥ ϛϯάͱԿ͔ʁ
ඇಉظσʔλετϦʔϜ Λ༻͍Δϓϩάϥϛϯά
ඇಉظσʔλετϦʔϜͷྫ • I/OΠϕϯτ • ΫϦοΫΠϕϯτ • λονΠϕϯτ • etc…
͑ɺͦΕͷ Ͳ͕͜৽͍͠ͷʁ
ϦΞΫςΟϒϓϩάϥ ϛϯάͰ
ຆͲͯ͢Λ ετϦʔϜͰߟ͑Δ
ԿͰετϦʔϜ • ม • Ϣʔβೖྗ • ϓϩύςΟ • σʔλߏ •
etc…
ͱ͜ΖͰ ετϦʔϜͬͯԿʁ
ҰݴͰ͍͏ͳΒ
Կ͔͕ྲྀΕͯ͘Δ ʮʯ
౧͕ྲྀΕͯ͘ΔσʔλετϦʔϜʢʣ
ετϦʔϜ ͍ΖΜͳૢ࡞͕ग़དྷΔ
ετϦʔϜͷૢ࡞ • ࡞ ⾣ ৽ͨͳΛ࡞ΕΔ • ߹ʢmergeʣ ⾣ Λ߹ྲྀͯ͠Ұͭʹ͢Δ͜ͱ͕ग़དྷΔ •
มʢfilterɺmapɺflatMapʣ ⾣ ແࢹͨ͠Γɺ౧ଠʹม͑ͨΓʢڧҾʁʣ
ετϦʔϜͷ ՄೳੑΛߟ͑Δ
ͦͷલʹ RxSwiftʹ͍ͭͯগ͠
ུྺ • ReactiveX (Rx) ϑΝϛϦʔͷҰһ • Rxࣗମ.NETൃʢ࣮ރΕٕͨज़ʣ • ڝ߹ʮReactiveCocoaʯʮSwiftBondʯͱ͔
ֶͿϞνϕʔγϣϯ • ঢ়ଶมΛݮΒͤΔ • ෳࡶͳॲཧΛγϯϓϧʹهड़Ͱ͖Δ • ॲཧΛએݴతʹهड़Ͱ͖Δ ʢؔܕͷӨڹڧ͘ड͚ͯΔʣ • ͏ͪͷϓϩδΣΫτͰਖ਼ࣜ࠾༻ʢϐϯνͩΑʂʣ
ؓٳ
ετϦʔϜ
࣌ؒॱʹฒΜͩ ਐߦதͷΠϕϯτͷྻ
None
ҎԼͷ3छྨ͕ྲྀΕͯ͘Δ • ʢԿΒ͔ͷܕʣ • Τϥʔ • ྃ • ʹ͔͠ڵຯͳ͍ͱ͖ɺ Լ2ͭແࢹ͢Δ͜ͱ
͜ͷʢʹʣ ྲྀΕͯ͘ΔͷΛ
ࢹʢlistenʣ͢Δ
ϦΞΫςΟϒ༻ޠͩͱ subscribingʢߪಡʣ
·͊ͭ·Γ
Ͱચ୕͠ͳ͕Β ౧ΛͬͯΔ͓͋ͪΌΜ
μϒϧΫϦοΫͷ ετϦʔϜʹ͍ͭͯߟ͑Δ
ී௨ʹ࣮͢Δͱʁ
μϒϧΫϦοΫͷ࣮ • ΫϦοΫͨ͠λΠϛϯάΛ͓֮͑ͯ͘ม • ִ࣌ؒؒΛௐΔ • τϦϓϧΫϦοΫݕ͠ͳ͍Α͏ʹ • ؆୯ʹͰ͖ͦ͏͚ͩͲΘΓͱ໘ͦ͏
ετϦʔϜͰߟ͑Δͱʁ
250msͷִ͕ؒແ͍࣌ؒͰ ΠϕϯτΛ·ͱΊΔ
Πϕϯτͷ·ͱ·ΓΛ ݸʹม͢Δ
ݸ͕2ͷ͚ͭͩΛ ϑΟϧλʔ͢Δ
ΫϦοΫͷ ετϦʔϜ͔Β
μϒϧΫϦοΫͷ ετϦʔϜ͕ग़དྷͨʂʁ
ετϦʔϜͷՄೳੑ͕ ݟ͖͑ͯ·ͤΜ͔ʁ
͕͖ͳͷϦΞΫςΟϒϓϩάϥϛϯά͚ͩ͞ʂ ໋ྩܗϓϩάϥϛϯάͳΜͯΫιήʔͩʂ
ͦΖͦΖऴΘΓͰ͕͢
͜Ε͔ΒͷཱྀͷಓඪΛ
ಓඪ • ʲ༁ʳ͋ͳ͕ͨٻΊ͍ͯͨϦΞΫςΟϒϓϩά ϥϛϯάೖ http://ninjinkun.hatenablog.com/entry/introrxja • RxSwift: ReactiveX for Swift
https://github.com/tid-kijyun/RxSwift/blob/ translates-into-japanese/README-ja.md • ໎͍ͬͨ࣌ͭͰʮʯΛࢥ͍ग़͢͜ͱ
ͪͳΈʹ෦తʹ
Observerύλʔϯ͕ ΘΕ͍ͯ·͢
͘͜͠ײ͡Δ༻ޠ ͦͷ͋ͨΓ͔Βདྷ͍ͯ·͢
Observer༻ޠ • Subject • Observable • Observer • Subscribe
·ͱΊ
ࠓͷ·ͱΊ • ϦΞΫςΟϒϓϩάϥϛϯάʮඇಉظσʔλ ετϦʔϜʯΛ༻͍Δϓϩάϥϛϯά • ετϦʔϜԿ͔ΒͰ࡞ΕΔɻ • ετϦʔϜ͍ΖΜͳૢ࡞ʢ߹ɾϑΟϧλɾม ʣ͕Ͱ͖Δɻ •
ͯ͢ετϦʔϜͰ͋Δɻ
Thanks.