Jon and Andrew from the Play team discuss the major refactoring of the Play Store app, including the adoption of Jetpack Compose. They highlight the improvements made to architecture, network fetching, UI rendering, and data storage. The podcast also covers tech debt issues, adoption of Kotlin and MVVM architecture, handling accessibility challenges, app performance improvements, and considerations in migrating code.
The Play Store team opted for a major rewrite and adopted Jetpack Compose to improve performance and simplify code.
The migration process presented challenges but increased productivity and attracted interest from potential new engineers.
Deep dives
Reasons for the large changes in the Play Store application
The Play Store team decided to make significant changes to their application due to the old codebase ageing and the need to envision how they want the Play Store to look in the next 10 years. They opted for a major rewrite to adopt modern frameworks and technologies and improve various aspects of the application.
Adopting Jetpack Compose and Kotlin
As part of the large changes, the Play Store adopted Jetpack Compose, a new UI toolkit, and transitioned to using Kotlin throughout the application. Jetpack Compose allowed for more lightweight and granular UI building, resulting in improved performance and simplified code.
Challenges and benefits of the migration
The migration process to the new architecture and technologies presented various challenges. There was a need to mitigate performance issues, address the two-stack problem, and bridge between the old and new code bases. However, the engineers experienced increased productivity and were able to take on bolder projects. Additionally, the adoption of Compose and other new technologies attracted interest from potential new engineers.
Performance improvements and future plans
The Play Store has made significant performance improvements through the migration process and the adoption of new technologies. They have focused on baseline profiling, cloud profiles, class pre-warming, and other optimizations. While the migration is still ongoing, they are now in a good position performance-wise and have a roadmap for further enhancements.
In this episode we chat with Jon and Andrew from the Play team about the Play Store app. The Play Store recently went through a major refactoring of their app, and Jon and Andrew will guide you through the reasons why they did it, the impact on their architecture, what problems they ran into, and why they decided to adopt Jetpack Compose for the UI layer.