Novidades sobre produtos

Comemorando 5 anos do Jetpack Compose

Leitura de 4 minutos

Hoje, celebramos 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 1.11 mais recente, as APIs evoluíram muito ao longo dos anos, e estamos aproveitando este 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, é seguro dizer que o Compose não apenas cumpriu essa promessa, mas também mudou completamente o ecossistema Android. Hoje, mais de 68% dos mil principais apps usam o Compose em produção.

Histórico

Nos últimos cinco anos, o Compose cresceu de forma constante. No início, mostramos como criar layouts com os elementos básicos Box, Row e Column. Hoje, expandimos o Compose para funcionar não apenas em dispositivos móveis, mas também em outros formatos, como o Compose para TV, o WearOS, o Resumo para widgets e até mesmo óculos com tela virtual com o 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 Guy e Chet Haase, além de Tor Norbye, diretor sênior de engenharia. Neste episódio, eles discutem a história do Compose e os primeiros dias de desenvolvimento.

timeline.png
Destaques do Compose ao longo dos anos

Relembrando

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 Views estava pensando em desvincular o kit de ferramentas de UI em uma biblioteca para ajudar na velocidade de desenvolvimento e facilitar a adoção e o controle de atualizações pelos desenvolvedores. Enquanto isso, uma equipe trabalhava em uma nova ideia para criar layouts declarativos incorporando XML em Kotlin, que era algo assim:

jetpack_compose_early_code.png

Esses dois esforços se uniram para produzir o que você conhece hoje: um kit de ferramentas de interface totalmente declarativo que utiliza o poder de um plug-in de compilador, um tempo de execução e o 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 desde o início! Antes de 2021, o Compose tinha uma fase 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, além de recebermos muito feedback direto que ajudou a moldar o lançamento da versão 1.0.

O Compose continuou evoluindo, 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

Hoje, o Compose 1.11 é a versão mais recente, e a 1.12 será lançada em breve, oferecendo muito mais do que a 1.0, há cinco anos. Este ano, apresentamos APIs mais adaptáveis, como FlexBox, Grid, MediaQuery e Styles. Com elas, você pode avançar 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 prioridade do Compose. Isso significa que todo o desenvolvimento futuro de interfaces vai acontecer apenas no Compose, enquanto o kit de ferramentas Views entra em modo de manutenção. O Material Design também está mudando o foco totalmente para o Compose, sinalizando o fim do findViewById era. 

A comunidade é o coração do Compose 

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

Gostamos muito de acompanhar nossas newsletters favoritas,  desde a Dispatch do JetpackCompose.app e a AndroidWeekly até a jetc, ajudando os desenvolvedores Android a ficar por dentro das novidades do mundo do Compose e do Android. 

Outro colaborador de destaque é sinasamaki. Eles criaram muitas experiências incríveis usando o Compose, como este modificador de faixa 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 o telephoto, uma biblioteca com suporte para gestos de panorâmica e zoom e subamostragem automática de imagens grandes, ou a biblioteca mais recente, o Touch Robot, que permite testar facilmente animações de interação:

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 UI com o Compose para o terminal com mosaic. Chris Banes, que criou muitas bibliotecas do Compose ao longo dos anos, incluindo nossa favorita mais recente, o Haze para desfoque de plano de fundo, e muitos dos Especialistas do Google Developers para 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 divertidos, bibliotecas e palestras detalhadas. Sem a comunidade, o Jetpack Compose não teria o sucesso que tem hoje. 

Que venham mais 5 anos e muito mais! 

O Jetpack Compose evoluiu de uma ideia experimental para o padrão de desenvolvimento de interface do Android. Agradecemos a toda a equipe do Toolkit no Google e à incrível comunidade global de desenvolvedores que escreveu bibliotecas, registrou bugs e ampliou 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 Android Developers em 30 de julho às 13h UTC.  Durante esse período, vamos conversar e discutir sobre o Compose, além de responder às suas perguntas.

Um brinde aos próximos cinco anos e boa composição!

Escrito por:
Continuar lendo