Page MenuHomePhabricator

[Spike] [1 Days] Review implications and implementation of conversion of about screen to Jetpack Compose
Closed, ResolvedPublic1 Estimated Story Points

Description

Please document the lessons learnt as a result of code review from T384362 and style items.

Event Timeline

Reedy renamed this task from Review implications and implementation of coversion of about screen to Jetpack Compose to Review implications and implementation of conversion of about screen to Jetpack Compose.Feb 13 2025, 3:44 PM
Seddon renamed this task from Review implications and implementation of conversion of about screen to Jetpack Compose to [Spike] [2 Days] Review implications and implementation of conversion of about screen to Jetpack Compose.Feb 25 2025, 5:31 PM
Seddon renamed this task from [Spike] [2 Days] Review implications and implementation of conversion of about screen to Jetpack Compose to [Spike] [1 Days] Review implications and implementation of conversion of about screen to Jetpack Compose.
Seddon assigned this task to Dbrant.
Seddon updated the task description. (Show Details)
Seddon set the point value for this task to 1.
Seddon triaged this task as High priority.Mar 11 2025, 4:38 PM
Annoyances
  • Pretty much everything you know from the old XML Views architecture is hereby no longer applicable, and must be relearned. "Margins" are now "padding", "RecyclerView" is now "LazyColumn", "Spannable" strings are now "AnnotatedString" (and they're not compatible!), and on and on.
  • Certain very specific things are weirdly missing, like a scrollbar that appears when a view is scrollable.
  • A lot of things are still marked as "experimental" at the level of the framework, even though the documentation encourages us to use it. This signals a "move-fast-break-things" philosophy that we'll need to keep an eye on.
Good stuff
  • The "Preview" system in Compose is actually quite useful. Everything from an individual component to an entire screen can have its own "Preview" function that serves as a miniature unit test and sanity check of how it will look. We should absolutely make sure to make Preview functions for everything.
  • Compose basically forces the developer to use proper MVVM patterns, which is good for maintainability.
  • If done right, this likely holds the promise of being more performant than the current system.
Questions

These are questions that will only be answered in time, as we delve deeper into Compose.

  • How are transition animations done from one activity to another?
  • Can we have an AnnotatedString with images, like we currently have with our Spanned strings?
  • How is edge-to-edge behavior and/or insets handled?

...