this year • Huge UI/architecture changes • All changes were made in order to improve the overall product • Mercari Android team used our trademark “high-performance” teamwork!
member has a unique ability. And you work best on your own. But individual success is a reflection of strong teamwork. We’re just like Public Security Section 9 “ ” Daisuke Aramaki, 2002 (Ghost in the Shell: Stand Alone Complex)
that does not need to worry about storage location 1. Code that anyone can replicate View View Model Service Repository • Activity/Fragment/View • Only layer that touches Context • Slave to ViewModel (no logic) • Houses logic not directly related to display • Network access, storage access, etc. • All logic is stateless, and the Service layer does not hold a state • Houses the display logic • Pure Java, is JUnit testable
tackle big problems all at once is too much • We want to split big problems into small pieces • Shoving everything into Activity when creating the screen • Shoving multiple API requests and processing into one class • ...etc Break it down and make it configurable with DI !!
View/ViewModel/Service/Repository • Try to use constructor injection when possible Wait, but Activity and Fragment don’t have constructors... Dagger 2 !!
problem is simple, the road to the goal is shorter • High-quality communication within the team • Unit tests become easier to write, and the fastest way to test code • (side-effect) Making use of Dagger2’s scope, we were also able to deal with the Activity lifecycle
going in Tokyo and San Francisco - Share technical information - but still we’re looking for a strong reason, why Kotlin? Kotlin used for all new files since Google I/O announced support
High-quality PRs Branchify large requirements Early mornings Screen hero (Rough) daily reports Travel Same blueprint Same weapons “To be a high-performance development team, we must…as;ldkfjasdlfkjasd” (←all talk) “High-Performance” Really high-performance “This should work, right? Let’s go for it!!” (←action!)
June • We’re going to capture the US market with the new architecture focused on a high-speed, high-performance team • Then we’ll go even higher, creating a scalable team whose performance just keeps increasing with size, and taking over the “global marketplace” • We’re so high-performance, like a racecarrrrr