Slack

Scaling Slack’s Mobile Codebases: Modernization

May 4, 2022
Scaling Slack’s Mobile Codebases: Modernization
SummaryAI, from the source post

This post details the 'Modernization' phase of Slack's Duplo initiative for mobile codebases. On iOS, it covers adopting a VIPER-variant feature architecture, implementing stricter linting rules to prevent anti-patterns, increasing Combine adoption for reactive programming (temporarily using CombineX), and driving further adoption of the SlackKit design system. On Android, it details migrating to modern libraries like Moshi (replacing Gson), WorkManager (replacing Android Priority Job Queue), and an internal networking library called Guinness. It also discusses establishing best practices for Coroutines and experimenting with Jetpack Compose. The post concludes with Duplo initiative results, showing significant improvements in codebase modernization and modularization percentages, reduced CI build times, and improved CI build stability.

More from the Mobile Codebase Modernization trail