KotlinConf 2018 – Shaping Your App's Architecture with Kotlin and Architecture Components by Florina

Recording brought to you by American Express
Many apps began adopting Kotlin and Android Architecture Components at the same time. While ostensibly quite different, the interplay of these two changes ends up heavily influencing each other.
Plaid is an open source example of material design concepts. It has a complex functionality but had a large amount of technical debt. We took the challenge of refactoring the app, following the Android Guide to App…


  1. we have almost the same architecture, but we are using rx java 2, on my opinion it's much more flexible than coroutines.The way you handled the errors is already implemented inside rxjava and it works fine with retrofit and room. The only interesting thing is testing. I'd be glad to see some master class on how to write test-coverable code in android

  2. 10/10!! Awesome talk and presentation @Florina. Can’t get my eyes off the slides.. What tools/software was used to design the presentation??

  3. Very similar to our project, except we named the safeApiCall 'asResult", as it makes more sense to wrap some callable and have it try-carched and get a Result<T>

  4. Thanks for sharing this!
    At https://youtu.be/Sy6ZdgqrQp0?t=637 you mention the Result class. I use a similar approach to the projects I build using RxJava2.
    The main issue I have with that solution atm is the fact that it gets quite complicated when the Use Case needs to grab data from different repositories in order to perform business logic.
    I know you use coroutines, but on Rx when you need to .flatmap calls it's super annoying.
    Did you fall into a similar issue?

  5. It would've been nice to see some Room code snippets in combination with the presented code, but still, nice talk. Felicitari!

  6. @Florina What did you use to make slides for this presentation? Animations and transitions between slides are awesome!

  7. Great talk! The only thing missing is a section about testing/testing strategies they followed. It would then qualify as the best talk regarding Android + Architecture 🙂

  8. This talk is amazing, both in regards to contents and presentation. Which software did you use to create the presentation?

  9. I am very much Sutterfield with this architecture will definitely give a try for my future projects. Thanks,​ @Florina For the awesome talk

  10. In the safeApiCall method the call lambda could be the last parameter, this way you could place it outside the () for a more ideomatic use of the function on the call site

Leave a Reply

Your email address will not be published. Required fields are marked *