Novedades sobre productos

Celebramos 5 años de Jetpack Compose

Lectura de 5 min

Hoy, celebramos oficialmente cinco años desde el lanzamiento de Jetpack Compose 1.0. Desde la versión 1.0, anunciada el 28 de julio de 2021, hasta nuestro lanzamiento más reciente, la versión 1.11, 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 e intuitiva de compilar interfaces nativas en Android. Si miramos hacia 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 principales lo usan en producción en la actualidad. 

Historial

En los últimos cinco años, Compose creció de manera constante. En los primeros días,  exploramos cómo mostrarte cómo compilar diseños con Box, Row y Column básicos. Hoy en día, expandimos Compose para que funcione no solo en dispositivos móviles, sino también en otros factores de forma, como Compose para TVWearOS, Glance para widgets e incluso anteojos de visualización con Jetpack Compose Glimmer

jetpack_compose_everywhere.png

Grabamos un episodio de Android Developers Backstage con Clara Bayarri, líder de ingeniería de Jetpack, y dos exlíderes del equipo, Romain GuyChet 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

Mirando hacia atrás

Los comienzos de Compose fueron muy diferentes de lo que conoces hoy. Se estaban llevando a cabo dos proyectos en paralelo dentro del equipo de Android. 

En ese momento, el equipo del kit de herramientas de Views estaba pensando en desvincular el kit de herramientas de la IU en una biblioteca para ayudar a acelerar el desarrollo y facilitar la adopción y el control de las actualizaciones por parte de los desarrolladores. Mientras tanto, un equipo trabajaba en una idea novedosa para compilar diseños declarativos mediante la incorporación de 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 la potencia de un complementos del compilador, el 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 tú, la comunidad, nos ayudaste desde el principio. Antes de 2021, Compose tenía una fase previa a la versión alfa, lo que ayudó a garantizar que Compose fuera adecuado para resolver los problemas de nuestros desarrolladores.

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

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

material2.png
Material 2 en Compose

Con la mirada puesta en el futuro

A partir de hoy, Compose 1.11 es la versión más reciente, y la 1.12 estará disponible pronto, con muchas más funciones que la 1.0, hace 5 años. Este año, presentamos más APIs adaptables, como FlexBox, Grid, MediaQuery y Styles. Estas APIs te permiten avanzar al siguiente nivel de desarrollo de IU adaptable y premium 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 cambia el enfoque por completo a Compose, lo que indica el final de la findViewById era

La comunidad es el núcleo 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 dónde vimos un trabajo emocionante. JetBrains fue un gran socio para Google con Compose, ya que expandió Compose para que funcione en todas las plataformas con Compose Multiplatform y permitió que los desarrolladores de iOS, Web y computadoras de escritorio también disfruten de los beneficios de Compose.  

Disfrutamos mucho de seguir nuestros boletines más queridos de JetpackCompose.app’s DispatchAndroidWeeklyjetc, lo que ayuda a los desarrolladores de Android a mantenerse al día con lo más reciente del mundo de Compose y Android. 

Otro colaborador destacado es sinasamaki. Creó 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 fue una inspiración cuando se trata de crear herramientas útiles para Compose, como telephoto, una biblioteca que incluye compatibilidad con gestos de paneo y zoom y 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ó la IU con Compose para la terminal con mosaic). Chris Banes, que compiló muchas bibliotecas de Compose a lo largo de los años, con nuestro favorito más reciente: Haze para desenfoque de fondo, y muchos de los Expertos en Google Developers de Android como Akshay Chordiya, Huyen Tue Dao y Katie Barnett, que 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 divertidos ejemplos, bibliotecas y charlas detalladas. Sin la comunidad, Jetpack Compose no tendría el éxito que tiene hoy. 

Brindemos por los próximos 5 años y mucho más.

Jetpack Compose pasó de ser una idea experimental a convertirse en el estándar para el desarrollo de la 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 para desarrolladores de Android el 30 de julio a las 13:00 UTC. Durante este tiempo, pasaremos el rato, hablaremos sobre Compose y responderemos tus preguntas.

Brindemos por los próximos 5 años y por la composición.

Escrito por:
Continuar leyendo