Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduce_Owl.pdf

itome
August 04, 2019

 Introduce_Owl.pdf

itome

August 04, 2019
Tweet

More Decks by itome

Other Decks in Technology

Transcript

  1. Introduce "owl"
    - State management
    library for android.

    View Slide

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

    View Slide

  3. About owl
    2min

    View Slide

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

    View Slide

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

    View Slide

  6. How it works
    5min

    View Slide

  7. How it works
    5min

    View Slide

  8. How it works
    5min

    View Slide

  9. 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.

    View Slide

  10. How it works
    5min
    - Intent

    View Slide

  11. 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.

    View Slide

  12. How it works
    5min
    - Action

    View Slide

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

    View Slide

  14. How it works
    5min
    - State

    View Slide

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

    View Slide

  16. How it works
    5min
    - IntentToAction

    View Slide

  17. 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.)

    View Slide

  18. How it works
    5min
    - Reducer

    View Slide

  19. How it works
    5min

    View Slide

  20. How it works
    5min

    View Slide

  21. How it works
    5min

    View Slide

  22. How it works
    5min
    How about async programming

    View Slide

  23. How it works
    5min
    Kotlin Coroutines

    View Slide

  24. Async Programming
    2min

    View Slide

  25. Async Programming
    2min

    View Slide

  26. Async Programming
    2min

    View Slide

  27. Async Programming
    2min

    View Slide

  28. Async Programming
    2min

    View Slide

  29. Async Programming
    2min

    View Slide

  30. Testing
    3min

    View Slide

  31. Testing
    3min
    - Owl is design for
    easy testing.

    View Slide

  32. Testing
    3min
    - IntentToAction

    View Slide

  33. Testing
    3min
    - Reducer

    View Slide

  34. Testing
    3min
    - Processor

    View Slide

  35. Testing
    3min
    - Processor

    View Slide

  36. Conclusion
    1min

    View Slide

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

    View Slide

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

    View Slide