Dia 7 de maio desse ano aconteceu mais uma edição do Google I/O (Input and Output), e pela segunda vez eu tive a incrível oportunidade de estar lá com a Tokenlab. Praticamente dois meses já se passaram, e agora que temos um blog veio a motivação pra deixar registrada aqui minha experiência.

Pra quem chegou até aqui sem saber o que é o I/O e tá com preguiça de googlar (curioso, não? :P): se trata de uma conferência anual para desenvolvedores, sediada nos headquarters da empresa, na qual são apresentadas as últimas tecnologias que eles estão trabalhando (e que em muito breve nós também estaremos).

Na primeira parte desse post vou compartilhar minhas impressões sobre o evento, inclusive com coisas da minha primeira vez por lá, e na segunda comentar brevemente as principais novidades para desenvolvedores Android dessa edição (já que essa é a minha praia e foi, portanto, meu foco durante todo o evento). Lá vai:

Como minha primeira vez no evento foi também minha primeira vez no Vale do Silício, lembro que logo no caminho até a Google tive a agradável experiência de passar pelas sedes de diversas empresas de tecnologia. Foi legal ser lembrado do fato de que esses apps que usamos no dia a dia, são, de fato, um prédio em algum lugar do mundo.

Assim que entrei no evento e guardei meu lugar para a primeira atração, fiquei surpreso com o número de participantes, que mais tarde descobri serem mais de 7000. Já estive em lugares com mais pessoas, mas da área de TI nunca tinha visto nem 5% disso. Imaginei que pelo número de pessoas, o nível técnico pudesse não ser tão alto assim, e é aí que fui surpreendido novamente, as pessoas que estavam ali realmente sabiam o que estavam fazendo.

E lá dentro, o que tem pra fazer?

Sessions
Apresentações com no máximo 50m de duração onde as novidades eram expostas de forma mais detalhada. Era aqui que passávamos a maior parte do nosso tempo, indo de uma sessão para a outra quase que o dia o todo. BTW, todas elas estão disponíveis integralmente na internet: https://www.youtube.com/playlist?list=PLOU2XLYxmsILVTiOlMJdo7RQS55jYhsMi
Community Lounge
Espaço aberto destinado ao networking, onde os encontros das pequenas comunidades aconteciam.
Codelabs
Quiosque com estações prontas para sentar e programar. Você escolhe um tutorial guiado de uma lista (https://codelabs.developers.google.com) e conta com a ajuda de alguns tutores da Google na execução. Particularmente não encontrei muito valor, já que os tutoriais eram simples e toda ajuda que você possa precisar já está na internet.
Office Hours / App Reviews
Horários e espaços com um número limitadíssimo de participantes onde você podia ter conversas e feedbacks mais intimistas com os Googlers. Era extremamente comum encontrar ali desenvolvedores de apps como o Gmail e YouTube compartilhando problemas que eles tiveram e como resolveram.
Sandboxes / Tents
Pra cada frente de atuação da Google (IA, Flutter, Android, Gaming, etc), você encontrava uma tenda na qual os membros daquele time estavam ali fazendo exposições das novidades e te dando a chance de interagir com elas em primeira mão. Bem próximo de uma feira de ciência, na verdade.
Acabei descobrindo que o melhor horário pra ir lá era quando todos os conferencistas estavam almoçando. Nesses horários, coincidentemente ou não, você encontrava os melhores membros do time completamente entediados, implorando por alguém pra bater um papo com eles. Em mais de um momento eu me peguei ali tendo uma aula quase que particular com algum rockstar do time de Android da Google.
Mesmo quando eu já não tinha mais nenhuma pergunta pra fazer, eu gostava de passar por ali pra ouvir as dúvidas das outras pessoas e aprender com isso.
Outra coisa legal, era perceber o quanto aquela interação também era importante para os Googlers, afinal, aqueles eram alguns dos primeiros feedbacks que eles recebiam da comunidade sobre o trabalho que eles realizaram pelos últimos meses.

Por fim, serei agora um pouco mais específico e deixar uns comentários pessoais sobre as novidades que mais gostei específicas da minha área, então se você não for um desenvolvedor Android, pouca (ou nenhuma) coisa vai te interessar.
Android Studio Project Marble
Pra mim, foi uma grande lição do lema “feito é melhor que perfeito”. Sabe aquele sprint de resolução de débitos técnicos que acaba acontecendo vez ou outra nos nossos projetos? O time de desenvolvedores do Android Studio acabou passando por um desse que durou pelo menos 6 meses. Mais de 500 bugs na IDE foram resolvidos. Inclusive, o Instant Run foi reescrito do zero e agora se chama Apply Changes.
Kotlin First
Dois anos após a Google ter anunciado o suporte oficial para a utilização do Kotlin no Android, ela anunciou que a partir de agora a linguagem é PRIORIDADE. Tutoriais, APIs e tudo mais visarão primeiro os desenvolvedores que utilizam Kotlin.
Jetpack Compose
WOOOOOOOOOW! Pedi por algo desse tipo desde que comecei a aprender Android, e, esse dia está chegando. A propósito: Só disponível em Kotlin! Kotlin FIRST, lembra? :P
In-App Updates
Finalmente vamos ter como garantir que os nossos usuários atualizem o aplicativo antes de usá-lo (se isso for realmente necessário).
SavedState for ViewModel
Admito que até então eu não tinha conseguido olhar para o ViewModel dos Architecture Components com tanto entusiasmo, mas, acho que agora isso pode mudar.

É isso pessoal, espero ter conseguido passar pelo menos uma parte do que é essa experiência animal de participar do I/O e me disponho a tirar qualquer dúvida.