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

Foundation over features

November 14, 2019

Foundation over features

How investing in our own component framework has helped us build Norway’s largest mobile bank.


November 14, 2019

More Decks by rechsteiner

Other Decks in Programming


  1. Foundation over features
    How investing in our own component framework has
    helped us build Norway’s largest mobile bank.

    View Slide

  2. View Slide

  3. Building a new mobile bank

    View Slide

  4. For 4 months the app
    was completely blank
    Investing time to
    build a foundation

    View Slide

  5. Theming
    Backend simulator
    Global model store
    Deep linking
    Design system
    Skeleton views
    HTTP Client
    Authentication library
    NSOperations abstractions
    Component framework

    View Slide

  6. View Slide

  7. We needed a shared foundation

    View Slide

  8. One big
    Account list

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. The missing piece: Layouts

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. Composable collection view layout

    View Slide

  18. • Each component has its own layout
    • Custom collection view layout takes
    each component layout and
    converts it into one big
    Composable collection view layout

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. Benefits
    • Reusable components allows us to share
    functionality throughout the app
    • Ability to compose bigger screens out of
    smaller components
    • Declarative layout system
    • Data-driven UIs are easy to unit-test
    • Animations are handled automatically
    • Allows us to transition to SwiftUI

    View Slide

  23. Transitioning to SwiftUI

    View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. Automatically dequeue cells based on layouts

    View Slide

  30. View Slide

  31. Take-aways

    View Slide

  32. • Investing time in building a good foundation can really
    pay off in the long term
    • Owning the abstraction gives you a lot of freedom
    • Use frameworks for the hard problems

    View Slide

  33. View Slide