$30 off During Our Annual Pro Sale. View Details »

Forgetting Android

Tuenti
December 10, 2013

Forgetting Android

Cómo preparar la arquitectura de tu aplicación para que Android no sea nada más que una plataforma

Tuenti

December 10, 2013
Tweet

More Decks by Tuenti

Other Decks in Technology

Transcript

  1. Forgetting Android
    Jorge J. Barroso
    Tech Lead Android Core
    [email protected]
    @flipper83
    jueves, 12 de diciembre de 13

    View Slide

  2. jueves, 12 de diciembre de 13

    View Slide

  3. Any fool can write code that a computer can understand. Good
    programmers write code that humans can understand.
    Martin Fowler
    jueves, 12 de diciembre de 13

    View Slide

  4. 1
    Solid
    jueves, 12 de diciembre de 13

    View Slide

  5. Single responsibility principle
    Open/closed principle
    Liskov substitution principle
    Interface segregation principle
    Dependency inversion principle
    jueves, 12 de diciembre de 13

    View Slide

  6. Clean Architecture
    2
    jueves, 12 de diciembre de 13

    View Slide

  7. A good architecture allows you to defer framework decisions. A
    good architecture allows frameworks to act as plugins to the
    app.
    Robert Martin
    “The database is a detail, a hardware detail. We would not
    use one at all if all our data could fit in memory for ever”
    jueves, 12 de diciembre de 13

    View Slide

  8. UI
    External
    Interfaces
    Db
    Push
    Network
    Storage
    Interfaces
    Interfaces
    Business
    Model
    Interactors
    Interactors
    jueves, 12 de diciembre de 13

    View Slide

  9. UI
    Layer
    UI
    Layer
    UI
    Data Model
    Data
    Mapper
    Boundary
    Interactor
    Bussines
    Data Model
    Data
    Storage
    Test
    Storage
    Data
    Mapper
    Data
    Mapper
    Storage
    Data Model
    Test
    Data Model
    jueves, 12 de diciembre de 13

    View Slide

  10. FeedViewModel
    FeedBoundary
    FeedListFragment
    FeedProvider
    GetFeed GetFeedImp
    List
    User
    DataSource
    Net
    UserDataSource
    LikeDataSource
    Like
    DataSource
    Parse
    API
    UserApi
    API
    Retrofit
    api
    Parse
    api
    jueves, 12 de diciembre de 13

    View Slide

  11. Conclusion
    3
    http://www.flickr.com/photos/inf3ktion/
    jueves, 12 de diciembre de 13

    View Slide

  12. Good Layer Responsabilites
    jueves, 12 de diciembre de 13

    View Slide

  13. Easy to test and mock
    jueves, 12 de diciembre de 13

    View Slide

  14. Easy to add or modify code
    jueves, 12 de diciembre de 13

    View Slide

  15. Easy to hide implementations: Dagger
    jueves, 12 de diciembre de 13

    View Slide

  16. Easy to find smells
    jueves, 12 de diciembre de 13

    View Slide

  17. Async code: RxJava
    jueves, 12 de diciembre de 13

    View Slide

  18. Duplicate data model : Automaper
    jueves, 12 de diciembre de 13

    View Slide

  19. Change your mind
    jueves, 12 de diciembre de 13

    View Slide

  20. http://jobs.tuenti.com
    [email protected]
    @flipper83
    jueves, 12 de diciembre de 13

    View Slide