Shaping your app’s architecture with Kotlin and Architecture Components
summary
Refactors the Plaid app from Java to Kotlin while restoring broken Dribbble, Designer News and Product Hunt features, using Retrofit deferred calls, coroutines launched from ViewModel, LiveData and Architecture Components to manage lifecycle and cancellation. Implements a sealed Result class and a safeApiCall wrapper to centralize error handling, splits features into dynamic feature modules via app bundles, replaces bloated try/catch with suspension functions, adds unit and instrumented tests, and largely brings functionality back.
AI-written summary · about
chapters (25)
- 0:00Intro
- 1:20What has changed since 2016
- 2:02Designer News
- 3:38Planning
- 4:59Modularization
- 6:36Architecture
- 7:19Asynchronous work
- 10:22API service
- 11:23Remote data source
- 12:48exhaustive branch
- 14:19safe API call
- 15:39local data source
- 16:41suspension functions
- 17:20repository support
- 18:22cancelling calls
- 19:33cousin 103
- 20:47use cases
- 21:11single task responsibility
- 22:02invoke operator
- 22:57threaded comments
- 23:53Collections
- 25:41UI Layer
- 29:35View
- 29:53UI
- 31:10Modules
related talks
29mShaping Your App's Architecture with Kotlin and Architecture Components
15mRe-stitching Plaid with Kotlin
41mMaking a Kotlin, Architecture Components, Rx and Coroutines sandwich
42mArchitecture Round Table
26mApp Architecture Then and Now: Lessons from the DroidKaigi Conference App History
39mRefactoring Plaid App – A reactive MVP approach
19mBuilding Reactive Views With the Architecture Components
31mArchitecture metamorphosis: a real case study
