今日こそ理解するhot / cold @社内rxswift勉強会

115
Hot / Cold @ RxSwift

Upload: -

Post on 16-Apr-2017

901 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot / Cold@ RxSwift

Page 2: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Rx

Page 3: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 4: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot / Cold

Page 5: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot / Cold

• Hot / Cold

• Hot / Cold

• Hot / Cold

• Rx … Rx …

Page 6: 今日こそ理解するHot / Cold @社内RxSwift勉強会

( ^o^)

Page 7: 今日こそ理解するHot / Cold @社内RxSwift勉強会

( ^o^)

※ Bond

Page 8: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Hot / Cold

RxSwift

Page 9: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Hot

• Hot / Cold

Page 10: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• ( ) Hot / Cold

Page 11: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 12: 今日こそ理解するHot / Cold @社内RxSwift勉強会

1

Hot / Cold Observable

Page 13: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 14: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Observable

Page 15: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Observable

• Subject • PublishSubject, BehaviorSubject, ReplaySubject …

Page 16: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Observable

• Subject • PublishSubject, BehaviorSubject, ReplaySubject …

• Operator • map, filter, flatMap …

• create, of, just, error …

Page 17: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Observable

• Subject • PublishSubject, BehaviorSubject, ReplaySubject …

• Operator ← !? • map, filter, flatMap …

• create, of, just, error …

Page 18: 今日こそ理解するHot / Cold @社内RxSwift勉強会

2

Operator ( ) Observable

Page 19: 今日こそ理解するHot / Cold @社内RxSwift勉強会

filter

Page 20: 今日こそ理解するHot / Cold @社内RxSwift勉強会

filter

Observable

Page 21: 今日こそ理解するHot / Cold @社内RxSwift勉強会

filter

filter operator

Filter

Page 22: 今日こそ理解するHot / Cold @社内RxSwift勉強会

just

Page 23: 今日こそ理解するHot / Cold @社内RxSwift勉強会

just

Observable

Page 24: 今日こそ理解するHot / Cold @社内RxSwift勉強会

just

Just

Page 25: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Hot / Cold Observable

• Subject Observable

• Operator ( ) Observable

Page 26: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot / Cold

Page 27: 今日こそ理解するHot / Cold @社内RxSwift勉強会

1

Subject Hot

Page 28: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Subject

• PublishSubject

• BehaviorSubject

• ReplaySubject

Hot

Page 29: 今日こそ理解するHot / Cold @社内RxSwift勉強会

2

Operator Cold

Page 30: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Hot

Hot

• multicast / publish

• replay / replayAll

• connect / refCount

• share / shareReplay

• shareReplayLatestWhileConnected

Page 31: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Subject Hot

Page 32: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Map Operator Cold

Page 33: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Filter Operator Cold

Page 34: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Subject Map Filter

Page 35: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Subject Hot

• Operator Cold

• publish Operator Hot ( )

Page 36: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot / Cold

Page 37: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot / Cold

Page 38: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Question1

Page 39: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 40: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Answer …

Page 41: 今日こそ理解するHot / Cold @社内RxSwift勉強会

A.

Page 42: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold 1

Cold Observable subscribe

Page 43: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold subscribe

Sequence

Page 44: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold subscribe

Sequence Map

Page 45: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold subscribe

subscribe →

Page 46: 今日こそ理解するHot / Cold @社内RxSwift勉強会

subscribe

Page 47: 今日こそ理解するHot / Cold @社内RxSwift勉強会

subscribe

Page 48: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot 1

Hot Observable subscribe

Page 49: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Question2

Page 50: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 51: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Answer …

Page 52: 今日こそ理解するHot / Cold @社内RxSwift勉強会

A.

Page 53: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Subject Map

Page 54: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Subject Map

Page 55: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• =

Cold subscribe

Subject Map

Subject

Page 56: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Question3

Page 57: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 58: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Answer …

Page 59: 今日こそ理解するHot / Cold @社内RxSwift勉強会

A. 1, 2, 3

Page 60: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Subject Map Hot

Page 61: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot Cold

Hot Observable subscribe

Subject Map Hot

subscribe

Page 62: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Cold Observable subscribe

• Hot Observable subscribe

• Hot Observable Cold

Page 63: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Page 64: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot 2

Hot Observable

Page 65: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold 2

Cold Observable

Page 66: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• = Observer

• Cold Observable Observer 1

• Hot Observable Observer

※ Observer

Observable

Page 67: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 68: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 69: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 70: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map

Page 71: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map Observer

1 subscribe

Page 72: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map Observer

Map Observer

2 subscribe

1 …

Page 73: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map Observer

Map Observer

Page 74: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map Observer

Sequence Map Observer

Page 75: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map Observer

Sequence Map Observer

2 !!

Page 76: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 77: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 78: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map Observer

Sequence Map Observer

2

Page 79: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Hot ( )( Hot )

Page 80: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Page 81: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

( Hot )

Page 82: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Sequence Map Hot

Page 83: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Sequence Map Hot Observer

1 subscribe

Page 84: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Sequence Map Hot Observer

Observer

2 subscribe

Page 85: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Sequence Map

Observer

HotObserver

Page 86: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Sequence Map

Observer

HotObserver

!!!

Page 87: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 88: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 89: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Sequence Map

Observer

HotObserver

print

Page 90: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Cold Observable

• Hot Observable

Page 91: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot

Page 92: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Question4

Page 93: 今日こそ理解するHot / Cold @社内RxSwift勉強会

( Hot )

Hot ( )

Page 94: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Answer …

Page 95: 今日こそ理解するHot / Cold @社内RxSwift勉強会

A. 2, 4, 6

Page 96: 今日こそ理解するHot / Cold @社内RxSwift勉強会

2 subscribe

Page 97: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot 3

Hot Observable Observer

Page 98: 今日こそ理解するHot / Cold @社内RxSwift勉強会

• Observer

Cold (

)

• (Next)

subscribe

Page 99: 今日こそ理解するHot / Cold @社内RxSwift勉強会

observer 1

Page 100: 今日こそ理解するHot / Cold @社内RxSwift勉強会

2,4,6

Page 101: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Next

Page 102: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 103: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 104: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold

Page 105: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold

Sequence Map Observer

Sequence Map Observer

Page 106: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold

2

Observer

Sequence Map Observer

Sequence Map Observer

Page 107: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold

Page 108: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 109: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold 1

Cold Observable subscribe

Page 110: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot 1

Hot Observable subscribe

Page 111: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot 2

Hot Observable

Page 112: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Cold 2

Cold Observable

Page 113: 今日こそ理解するHot / Cold @社内RxSwift勉強会

Hot 3

Hot Observable Observer

Page 114: 今日こそ理解するHot / Cold @社内RxSwift勉強会
Page 115: 今日こそ理解するHot / Cold @社内RxSwift勉強会

(

)

• Hot