Novedades del producto

Celebramos 5 años de Jetpack Compose

Lectura de 4 min

Hoy celebramos oficialmente el quinto aniversario del lanzamiento de Jetpack Compose 1.0. Desde la versión 1.0, anunciada el 28 de julio de 2021, hasta nuestra versión 1.11 más reciente, vimos que las APIs evolucionaron significativamente a lo largo de los años, y nos tomamos un momento para celebrarlo.

Cuando anunciamos oficialmente el lanzamiento de la versión 1.0, prometimos una forma más simple, rápida y intuitiva de compilar interfaces nativas en Android. Si echamos la vista atrás, podemos decir que Compose no solo cumplió esa promesa, sino que también cambió por completo el ecosistema de Android, ya que más del 68% de las 1,000 apps más populares lo usan en producción en la actualidad. 

Historial

En los últimos cinco años, Compose creció de forma constante. En los primeros días, exploramos cómo mostrarte cómo crear diseños con los elementos básicos Box, Row y Column. Actualmente, expandimos Compose para que funcione no solo en dispositivos móviles, sino también en otros factores de forma, como Compose para TV, WearOS, Glance para widgets y hasta lentes de visualización con Jetpack Compose Glimmer. 

jetpack_compose_everywhere.png

Grabamos un episodio de Android Developers Backstage con Clara Bayarri, directora de Ingeniería de Jetpack, y dos exdirectores del equipo, Romain Guy y Chet Haase, junto con Tor Norbye, director sénior de Ingeniería. En este episodio, hablan sobre la historia de Compose y los primeros días de desarrollo.

timeline.png
Aspectos destacados de Compose a lo largo de los años

Recuerdos

Los inicios de Compose fueron muy diferentes de lo que conoces hoy. En el equipo de Android, se estaban llevando a cabo dos proyectos en paralelo. 

En ese momento, el equipo del kit de herramientas de Views estaba pensando en separar el kit de herramientas de IU en una biblioteca para ayudar a acelerar el desarrollo y facilitar a los desarrolladores la adopción y el control de las actualizaciones. Mientras tanto, un equipo trabajaba en una idea novedosa para compilar diseños declarativos incorporando XML dentro de Kotlin, que se veía de la siguiente manera:

jetpack_compose_early_code.png

Esos dos esfuerzos se fusionaron para producir lo que conoces hoy: un kit de herramientas de IU completamente declarativo que utiliza el poder de un complemento del compilador, un tiempo de ejecución y Kotlin:

@Composable
fun Newsfeed(stories: List<Story>) {
    LazyColumn {
        items(stories) { story ->
            Card {
                val author = story.author
                Image(painterResource(author.profilePhoto),
                    contentDescription = author.name)
                Text(author.name)
                Text(story.content)
                if (story.hasCommentsEnabled()) {
                    for(comment in story.comments) {
                        Text(comment.mainContent)
                    }
                }
            }
        }
    }
}

Y ustedes, la comunidad, nos ayudaron desde el principio. Antes de 2021, Compose tenía una fase previa a la alfa, que ayudó a garantizar que Compose fuera apto para resolver los problemas de nuestros desarrolladores.

Uno de nuestros recuerdos favoritos es el Android Dev Challenge. Desafiamos a la comunidad a crear cuatro tareas diferentes con Compose, llenando nuestros feeds con apps de cachorros, relojes y apps del clima, y brindándonos una gran cantidad de comentarios directos que ayudaron a dar forma a la versión 1.0.

Compose siguió evolucionando, desde su lanzamiento con un conjunto de componentes de Material 2 hasta la compatibilidad actual con Material 3 Expressive.

material2.png
Material 2 en Compose

Con la mirada puesta en el futuro

Actualmente, Compose 1.11 es la versión más reciente, y la 1.12 estará disponible pronto. Ofrece mucho más que la versión 1.0, que se lanzó hace 5 años. Este año, presentamos más APIs adaptativas, como FlexBox, Grid, MediaQuery y Styles. Estas APIs te permiten avanzar al siguiente nivel de desarrollo de IU premium y adaptable con Compose. 

En Google I/O 2026, anunciamos que ahora somos Compose-first, lo que significa que todo el desarrollo futuro de la IU se realizará solo en Compose, mientras que el kit de herramientas de Views entrará en modo de mantenimiento. Material Design también cambiará su enfoque por completo a Compose, lo que indica el final de findViewById era. 

La comunidad es el corazón de Compose 

A lo largo de los años, nos inspiraste con ejemplos creativos de cómo usaste Compose, y nos encantaría destacar algunos ejemplos más de trabajos emocionantes que vimos. JetBrains ha sido un gran socio de Google con Compose, ya que expandió Compose para que funcione en todas las plataformas con Compose Multiplatform y permitió que los desarrolladores de escritorio, iOS y la Web también disfruten de los beneficios de Compose.  

Nos encantó seguir nuestros boletines más populares,  desde Dispatch de JetpackCompose.app y AndroidWeekly hasta jetc, que ayudan a los desarrolladores de Android a mantenerse al día con las últimas novedades del mundo de Compose y Android. 

Otro colaborador destacado es sinasamaki. Crearon muchas experiencias encantadoras con Compose, como este divertido modificador de cinta y el efecto de falla:

ribbon_modifier_sinasamaki.gif

Saket Narayan también siempre ha sido una inspiración a la hora de crear herramientas útiles para Compose, como telephoto, una biblioteca que admite gestos de desplazamiento y zoom, y un submuestreo automático de imágenes grandes, o la biblioteca más reciente, Touch Robot, que te permite probar fácilmente las animaciones de interacción:

paparazzi.gif(end = 3_000) {
  DebitCard(
    Modifier.testTag("card")
  )

  val touchRobot = rememberTouchRobot()
  LaunchedEffect(Unit) {
    touchRobot.onNode(hasTestTag("card")).performGesture {
      draw(
        path = createAndroidHeadPath(),
        duration = 3.seconds,
      )
    }
  }
}

/** A path drawing the Android head. */
fun createAndroidHeadPath(bounds: Rect): Path = TODO()
saket_touch_robot.gif

Jake Wharton, que usó Compose de formas innovadoras (como molecule e incluso compiló IU con Compose para la terminal con mosaic). Chris Banes, quien creó muchas bibliotecas de Compose a lo largo de los años, con nuestra favorita más reciente: Haze para desenfocar el fondo, y muchos de los Expertos de Google Developers para Android, como Akshay Chordiya, Huyen Tue Dao y Katie Barnett, quienes contribuyeron al éxito de Compose. Pero no se trata de seleccionar personas, ya que hubo muchos colaboradores excelentes en la base de código de Compose, y muchos de ustedes siguen inspirándonos con sus ejemplos divertidos, bibliotecas y charlas detalladas. Sin la comunidad, Jetpack Compose no tendría el éxito que tiene hoy en día. 

¡Brindemos por los próximos 5 años y muchos más! 

Jetpack Compose pasó de ser una idea experimental a convertirse en el estándar para el desarrollo de IU de Android. Gracias a todo el equipo de Toolkit de Google y a la increíble comunidad global de desarrolladores que escribió bibliotecas, registró errores y superó los límites de lo que puede hacer la IU declarativa. 

Esta semana, celebraremos con algunas fiestas de cumpleaños presenciales en todo el mundo y una “fiesta de cumpleaños” en vivo en el canal de YouTube de Android Developers el 30 de julio a las 13:00 (UTC). Durante este tiempo, nos reuniremos para hablar sobre Compose y responder tus preguntas.

¡Brindemos por los próximos 5 años y feliz composición!

Escrito por:
Continuar leyendo