Slide 1

Slide 1 text

Introduce "owl" - State management library for android.

Slide 2

Slide 2 text

Self Introduction https://twitter.com/itometeam https://github.com/itome https://medium.com/@itometeam 0.5min Takeshi Tsukamoto CyberAgent CATS

Slide 3

Slide 3 text

About owl 2min

Slide 4

Slide 4 text

About owl Owl is status management library for Android application. 2min https://github.com/itome/owl

Slide 5

Slide 5 text

About owl Owl provides.. 2min - Redux like state management. - Easy coroutine integration. - Lifecycle aware state stream with Android Architecture Component

Slide 6

Slide 6 text

How it works 5min

Slide 7

Slide 7 text

How it works 5min

Slide 8

Slide 8 text

How it works 5min

Slide 9

Slide 9 text

How it works 5min - Intent Intent is the sealed class that indicates how we want to change the State. We should not consider current State when we dispatch Intent.

Slide 10

Slide 10 text

How it works 5min - Intent

Slide 11

Slide 11 text

How it works 5min - Action Action is the sealed class that have the data we actually want to apply to State. We can access to Intent dispatched and current State when we create Action.

Slide 12

Slide 12 text

How it works 5min - Action

Slide 13

Slide 13 text

How it works 5min - State State is just a data class that contains view state. We should not write any logic in it.

Slide 14

Slide 14 text

How it works 5min - State

Slide 15

Slide 15 text

How it works 5min - IntentToAction IntentToAction is a function that create Action from dispatched Intent and previous State.

Slide 16

Slide 16 text

How it works 5min - IntentToAction

Slide 17

Slide 17 text

How it works 5min - Reducer Reducer is a function that create next state from action and previous state. (If you are familiar with Redux, this is same as reducer of that.)

Slide 18

Slide 18 text

How it works 5min - Reducer

Slide 19

Slide 19 text

How it works 5min

Slide 20

Slide 20 text

How it works 5min

Slide 21

Slide 21 text

How it works 5min

Slide 22

Slide 22 text

How it works 5min How about async programming

Slide 23

Slide 23 text

How it works 5min Kotlin Coroutines

Slide 24

Slide 24 text

Async Programming 2min

Slide 25

Slide 25 text

Async Programming 2min

Slide 26

Slide 26 text

Async Programming 2min

Slide 27

Slide 27 text

Async Programming 2min

Slide 28

Slide 28 text

Async Programming 2min

Slide 29

Slide 29 text

Async Programming 2min

Slide 30

Slide 30 text

Testing 3min

Slide 31

Slide 31 text

Testing 3min - Owl is design for easy testing.

Slide 32

Slide 32 text

Testing 3min - IntentToAction

Slide 33

Slide 33 text

Testing 3min - Reducer

Slide 34

Slide 34 text

Testing 3min - Processor

Slide 35

Slide 35 text

Testing 3min - Processor

Slide 36

Slide 36 text

Conclusion 1min

Slide 37

Slide 37 text

Conclusion 1min Owl is - Minimum status management library for Android Application. - Easy to use Kotlin Coroutine - Easy to test

Slide 38

Slide 38 text

Thank you ! @2019/February Android Weekend https://twitter.com/itometeam https://github.com/itome https://medium.com/@itometeam