Based on the spike ticket: T358019
Here is the migration plan for the engineers to migrate the code to use Jetpack Compose.
Phase 1: Building essential classes
Timeline: 1 - 2 months
- Research and build styles class if needed.
- The current styles and themes are in the styles.xml, we need to find a way to convert them into Jetpack Compose compatible resources.
- Build or convert custom views if needed.
- Convert classes in view packages
- Convert XMLs that have the prefix view_
- Convert small components such as view_notification_dot or view_tabs_count
Phase 2: Integrating with Compose compatible styles
Timeline: 6 months
- Convert small custom views to Compose class
- Bring the converted classes and integrate them with the traditional layout by using ComposeView in the XML files.
- Maybe keep the old view components to compare with the new Compose view?
- Convert a simple screen or screen with simple functions with the Compose entirely.
- For example, the WiktionaryDialog. Try to see if there are any issues when using Compose with ViewModel and Coroutine concepts.
- Keep learning and refining the structure of Compose during conversion.
Phase 3: Keep converting the classes based on the complexity of features/functions in ascending order.
Timeline: > 6 months
- Create tickets for converting to Compose - feature by feature
- After engineers get more familiar with Jetpack Compose, we can keep converting functions and features based on their complexity.
- Have the designer evaluate the design continuously feature by feature.