Notícias de produtos

Comemorando 5 anos do Jetpack Compose

Leitura de 5 minutos

Hoje, comemoramos oficialmente cinco anos desde o lançamento do Jetpack Compose 1.0. Da versão 1.0, anunciada em 28 de julho de 2021, até a versão mais recente, 1.11, vimos as APIs evoluírem significativamente ao longo dos anos, e estamos aproveitando o momento para comemorar.

Quando anunciamos oficialmente o lançamento da versão 1.0, prometemos uma maneira mais simples, rápida e intuitiva de criar interfaces nativas no Android. Olhando para trás, podemos dizer que o Compose não apenas cumpriu essa promessa, mas também mudou completamente o ecossistema Android, com mais de 68% dos 1.000 principais apps usando-o na produção atualmente.

Histórico

Nos últimos cinco anos, o Compose cresceu constantemente. Nos primeiros dias,  mostramos como criar layouts com as caixas, linhas e colunas básicas. Hoje, expandimos o Compose para funcionar não apenas em dispositivos móveis, mas também em outros formatos, como Compose para TVWearOS, Glance para widgets e até mesmo óculos de exibição com Jetpack Compose Glimmer

jetpack_compose_everywhere.png

Gravamos um episódio do Android Developers Backstage com Clara Bayarri, líder de engenharia do Jetpack, e dois ex-líderes da equipe, Romain GuyChet Haase, além de Tor Norbye, diretor sênior de engenharia. Neste episódio, eles discutem o histórico do Compose e os primeiros dias de desenvolvimento.

timeline.png
Destaques do Compose ao longo dos anos

Olhando para trás

O início do Compose foi muito diferente do que você conhece hoje. Dois projetos estavam acontecendo em paralelo dentro da equipe do Android. 

Na época, a equipe do kit de ferramentas de visualizações estava pensando em desvincular o kit de ferramentas de interface em uma biblioteca para ajudar na velocidade de desenvolvimento e facilitar a adoção e o controle de atualizações para os desenvolvedores. Enquanto isso, uma equipe estava trabalhando em uma nova ideia para criar layouts declarativos incorporando XML no Kotlin, que parecia algo assim:

jetpack_compose_early_code.png

Esses dois esforços foram combinados para produzir o que você conhece hoje: um kit de ferramentas de interface totalmente declarativo que utiliza o poder de um plug-in do compilador, do ambiente de execução e do 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)
                    }
                }
            }
        }
    }
}

E você, a comunidade, nos ajudou muito desde o início! Antes de 2021, o Compose tinha uma fase de pré-alfa, que ajudou a garantir que ele fosse adequado para resolver os problemas dos nossos desenvolvedores.

Uma das nossas memórias favoritas é o Android Dev Challenge. Desafiamos a comunidade a criar quatro tarefas diferentes com o Compose, preenchendo nossos feeds com apps de cachorros, relógios e apps de clima, e nos dando muitos feedback diretos que ajudaram a moldar o lançamento da versão 1.0.

O Compose continuou a evoluir, desde o lançamento com um conjunto de componentes do Material 2 até o suporte ao Material 3 Expressive.

material2.png
Material 2 no Compose

Planos para o futuro

Atualmente, o Compose 1.11 é a versão mais recente, com a 1.12 chegando em breve, oferecendo muito mais do que a 1.0, há 5 anos. Este ano, apresentamos mais APIs adaptáveis, como FlexBox, Grid, MediaQuery e Styles. Essas APIs permitem que você avance para o próximo nível de desenvolvimento de interface adaptável premium com o Compose. 

No Google I/O 2026, anunciamos que agora somos Compose-first, o que significa que todo o desenvolvimento futuro de interface vai acontecer apenas no Compose, enquanto o kit de ferramentas de visualizações entra no modo de manutenção. O Material Design também está mudando o foco totalmente para o Compose, sinalizando o fim da findViewById era

A comunidade está no centro do Compose

Ao longo dos anos, vocês nos inspiraram com exemplos criativos de como usaram o Compose, e gostaríamos de destacar mais alguns exemplos de trabalhos interessantes. A JetBrains tem sido uma ótima parceira do Google com o Compose, expandindo o Compose para funcionar em várias plataformas com Compose Multiplatform e permitindo que desenvolvedores de computadores, iOS e Web também aproveitem os benefícios do Compose.  

Gostamos muito de acompanhar nossos boletins informativos mais amados,  do Dispatch do JetpackCompose.app e do AndroidWeekly ao jetc, ajudando os desenvolvedores Android a se manterem atualizados com as novidades do mundo do Compose e do Android. 

Outro colaborador de destaque é sinasamaki. Ele criou muitas experiências agradáveis usando o Compose, como este modificador de fita divertido e o efeito com falhas:

ribbon_modifier_sinasamaki.gif

Saket Narayan também sempre foi uma inspiração quando se trata de criar ferramentas úteis para o Compose, como telephoto, uma biblioteca com suporte a gestos de panorâmica e zoom e subamostragem automática de imagens grandes, ou a biblioteca mais recente, Touch Robot, que permite testar animações de interação com facilidade:

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 usou o Compose de maneiras inovadoras (como molecule e até mesmo criando interfaces com o Compose para o terminal com mosaic). Chris Banes, que criou muitas bibliotecas do Compose ao longo dos anos, com nosso favorito mais recente, Haze, para desfoque de fundo, e muitos dos Especialistas do Google Developers do Android, como Akshay Chordiya, Huyen Tue Dao e Katie Barnett, que contribuíram para o sucesso do Compose. Mas não se trata de selecionar indivíduos. Houve muitos colaboradores excelentes para a base de código do Compose, e muitos de vocês continuam nos inspirando com exemplos, bibliotecas e palestras detalhadas. Sem a comunidade, o Jetpack Compose não seria tão bem-sucedido quanto é hoje. 

Um brinde aos próximos 5 anos e muito mais!

O Jetpack Compose cresceu de uma ideia experimental para o padrão de desenvolvimento de interface do Android. Agradecemos a toda a equipe do kit de ferramentas do Google e à incrível comunidade global de desenvolvedores que escreveu bibliotecas, registrou bugs e ultrapassou os limites do que a interface declarativa pode fazer. 

Esta semana, vamos comemorar com algumas festas de aniversário presenciais em todo o mundo e uma "festa de aniversário" ao vivo no canal do YouTube para desenvolvedores Android em 30 de julho, às 13h UTC. Durante esse período, vamos conversar e discutir o Compose e responder às suas perguntas.

Um brinde aos próximos 5 anos e feliz composição!

Escrito por:
Continuar lendo