Este é o Now in Android, seu guia atualizado de novidades e fatos importantes do mundo de desenvolvimento no Android.
MAD Skills é uma nova série de conteúdo que ensina os desenvolvedores a usar as tecnologias Modern Android Development (MAD, ou desenvolvimento moderno no Android) para criar aplicativos com mais facilidade. A série tinha acabado de ser lançada quando fiz a postagem do último Now in Android. Algumas semanas depois, a primeira minissérie sobre o componente de navegação está completa. Bem… quase completa. Temos ainda um episódio sobre navegação: uma sessão de Perguntas e respostas ao vivo.
Um dos nossos objetivos com o MAD Skills era não só ensinar como utilizar os vários recursos do Modern Android Development, mas também conhecer os problemas e as dúvidas dos desenvolvedores para tentarmos ajudá-los. Por isso, ao final de cada minissérie, faremos uma sessão de Perguntas e respostas ao vivo no YouTube.
Antes, usaremos o Twitter para receber algumas perguntas. Também tentaremos colocar perguntas ao vivo no Twitter e no YouTube. Depois, teremos uma conversa com alguns dos especialistas que trabalham no produto para saber o que eles recomendam.
Para o componente de navegação, farei uma sessão de Perguntas e respostas ao vivo com Ian Lake nesta quinta-feira, às 10h (horário do Pacífico). Envie perguntas por este thread do Twitter (ou simplesmente poste tweets usando #AskAndroid) e participe conosco da sessão, se puder. Postaremos o vídeo no final, para que você ainda possa acompanhar o programa ao vivo… mesmo que ele não esteja mais ao vivo.
Caso tenha perdido os episódios sobre navegação, você poderá vê-los em formato de vídeo e artigo:
Para ver o conteúdo atual, não deixe de conferir a playlist do MAD Skills no YouTube, os artigos no Medium ou esta página de destino útil, a qual fornece acesso a todo o conteúdo. E fique ligado no próximo conteúdo do MAD; a próxima série começa na semana que vem!
Em primeiro lugar, o AndroidX disponibilizou mais bibliotecas para contribuições por meio do GitHub.
Sabemos que muitos desenvolvedores preferem o fluxo conhecido de contribuição do GitHub ao sistema AOSP+Gerrit tradicionalmente utilizado pelo Android e ficariam muito felizes se utilizássemos mais o GitHub.
O que é uma ótima ideia! Mas também algo difícil de realizar (considerando a infraestrutura que utilizamos). Mas nós ouvimos você e começamos a explorar a possibilidade, disponibilizando algumas das bibliotecas em desenvolvimento ativo no GitHub, começando alguns meses atrás com Paging, Room e WorkManager. Recentemente, também adicionamos as bibliotecas Activity, Fragment e Navigation. Confira e, se quiser contribuir, veja mais detalhes no documento CONTRIBUTING.
Temos a variedade de costume de versões Alfa, Beta, RC e estáveis, incluindo esta versão estável que é digna de nota:
MediaRouter 1.2.0: esta versão é interessante porque adiciona uma funcionalidade que se sincroniza com algumas das novas funcionalidades de mídia do Android 11.
O Android 11 adicionou algumas coisas muito legais de IU para media players, enviando os controles de mídia para um novo espaço dedicado no painel de notificação, o que facilita o controle da mídia em um só local, em vez de intercalá-lo com o restante das notificações. Não se trata de uma nova funcionalidade de desenvolvimento, mas sim de uma apresentação diferente para as notificações que você provavelmente já está criando. Você pode continuar usando as APIs MediaSession e MediaStyle disponíveis desde a versão Lollipop.
Mas algumas funcionalidades novas foram adicionadas ao Android 11 para a “transferência transparente de mídia”, que permite que os usuários troquem de dispositivo de reprodução usando o alternador de saída (mostrado abaixo). Essa nova versão do MediaRouter permite interagir com esse novo recurso da plataforma.
Se você quiser ver as mudanças relacionadas a mídia no Android 11, confira o vídeo What’s New in Media de Don Turner.
Eu também gostaria de destacar algumas versões Alfa interessantes. Geralmente, não falo muito sobre as versões Alfa porque, bom, elas são versões Alfa e, portanto, estão sujeitas a mudanças e iterações à medida que a equipe continua trabalhando nelas. Mas surgiram novas versões do Paging e do Navigation (hoje mesmo!) que são interessantes em termos do que indicam para o futuro do desenvolvimento.
Uma das perguntas que temos recebido recentemente, durante a jornada do Jetpack Compose pela fase Alfa, é: “Qual é o futuro da [insira aqui sua biblioteca do Jetpack favorita] no mundo do Jetpack Compose?”.
E essa é uma excelente pergunta! A resposta é que muitos dos componentes da arquitetura não têm a ver especificamente com visualizações ou com o kit de ferramentas de IU existente, portanto, eles serão igualmente necessários e úteis no novo mundo do Jetpack Compose. Mais do que isso, estamos criando integrações para facilitar o trabalho em conjunto dos diferentes componentes. O Compose já oferece integrações com ViewModels e LiveData, e o dia de hoje marca a primeira versão do suporte ao Paging e ao Navigation para o Jetpack Compose.
Recentemente, foram feitas algumas postagens sobre os recursos de linguagem do Kotlin que vale a pena conferir.
Florina Muntenescu postou um novo artigo e vídeo sobre o recurso de desestruturação do Kotlin. A desestruturação cria uma forma conveniente de atribuir diversas variáveis aos valores de diferentes campos de um objeto. Por exemplo, você pode ter a seguinte classe de dados:
data class Donut( dough: String, topping: String)
e rapidamente atribuir variáveis aos campos de uma instância Donut com:
val (dough, topping) = someDonut
A desestruturação funciona automaticamente para classes de dados, mas é possível fornecer funções em outras classes para dar a elas também o recurso de desestruturação.
Breaking down destructuring declarations
Meghan Mehta lançou um novo artigo falando sobre o recurso de linguagem de extensões do Kotlin. As extensões permitem adicionar novos métodos ou propriedades a classes existentes… mais ou menos. As extensões não são realmente inseridas em uma classe existente, mas essa é a aparência para os autores das chamadas a esses métodos. (Spoiler: elas são implementadas internamente como métodos estáticos que recebem uma instância da classe.)
Esse é, provavelmente, meu recurso favorito do Kotlin: como desenvolvedor de APIs, adoro a ideia de poder melhorá-las no futuro por meio da adição de APIs capazes de sobreviver fora da plataforma ou biblioteca central, mas que parecem totalmente à vontade na forma como são utilizadas no código. Então, por exemplo, eu poderia criar um método de extensão na classe String, String.isAGoodDonutName(). Depois, os autores das chamadas que utilizassem meu método de extensão poderiam chamá-lo diretamente em uma String, como “Sprinkle”.isAGoodDonutName(), em vez da abordagem de outras linguagens de fazer a chamada por meio de outro pacote/classe, como Utils.StringMethods.isAGoodDonutName(“Sprinkle”). Não é tão legal, mesmo que estejamos falando de donuts.
Extend your code readability with Kotlin extensions
E, por fim, Manuel Vivo publicou um novo vídeo sobre “os ABCs das corrotinas”, no qual explica tópicos como CoroutineScope, CoroutineContext, Dispatchers e Jobs. Na verdade, está mais para os CDJs do que para os ABCs das corrotinas.
Um dos aspectos mais complicados da publicação de apps é garantir que eles sigam as diretrizes da loja, cuja função é criar um bom ecossistema de apps para os usuários. Mas, às vezes, pode ser difícil saber exatamente como fazer isso de forma correta. Por isso, a Play Store publicou este artigo para ajudar você a compreender algumas das violações comuns que causam problemas e como evitá-las.
Algumas dessas áreas incluem uma IU de app com links para a Play Store, descrições mais concentradas nos termos de pesquisa do que em um resumo claro do app e apps que são simplesmente um wrapper de WebView em torno de conteúdo de sites.
Dicas para desenvolvedores e guias: Violações comuns de políticas e como evitá-las
A Droidcon teve uma abordagem interessante durante a temporada de conferências exclusivamente on-line, combinando muitos de seus eventos anuais em eventos maiores, em vários fusos horários. A versão dessa conferência para a região EMEA aconteceu em outubro, e todos os vídeos (de alguns de nós da equipe e também de muitos desenvolvedores da comunidade geral) já estão disponíveis on-line:
Vídeos
(Fique ligado nas versões para as Américas e para a região APAC [Ásia-Pacífico], que acontecerão nas próximas semanas.)
A série MotionTags de screencasts postou mais dois episódios desde nossa última postagem.
O Episódio 7 fala sobre <KeyAttribute>, a tag que contém propriedades da visualização, como seus valores transform e alpha.
O Episódio 8 fala sobre <KeyCycle>. Essa tag tem muitos atributos iguais à KeyAttribute, mas também oferece propriedades que definem a forma de onda sendo usada para uma animação, o que pode produzir um comportamento de movimento realmente interessante. Observe que há uma ferramenta CycleEditor autônoma para facilitar a criação e edição de KeyCycles.
Veja esses episódios, juntamente como o restante da série, na playlist do MotionTags:
O novo Udacity Android Kotlin Developer Nanodegree acaba de ser lançado. Esse curso se destina àqueles que desejam saber como criar apps Android no Kotlin seguindo práticas recomendadas. Para saber os pré-requisitos e outros detalhes, confira a visão geral do programa.
Observe que o nanodegree é um programa pago que inclui projetos com feedback, suporte de mentores técnicos e serviços de carreira da Udacity. No entanto, o conteúdo subjacente do curso que a Google desenvolveu com a Udacity é gratuito e disponível a todos. Você pode verificar esse conteúdo em Developing Android Apps with Kotlin e Advanced Android with Kotlin.
Desde o último Now in Android, publicamos outro episódio do Android Developers Backstage. Confira no link abaixo ou acesse seu cliente de podcast favorito:
Romain Guy e eu batemos um papo com Dustin Lam e Chris Craik, da equipe do Kit de ferramentas do Android, sobre a nova versão 3.0 da biblioteca Paging (“Paging 3”). Essa versão (atualmente na fase Alfa) foi totalmente reescrita em Kotlin, utilizando corrotinas e o Flow, por vários motivos que serão explicados no podcast. Confira para saber mais.
Episódio 151: Paging3
Isso é tudo, por enquanto. Confira a série MAD Skills. Faça o download das últimas bibliotecas do AndroidX. Conheça os recursos de linguagem do Kotlin. Veja os mais recentes artigos e vídeos para desenvolvedores. Obtenha um nanodegree. Ouça o episódio mais recente do podcast do ADB. Em breve, voltaremos com a próxima atualização do universo dos desenvolvedores Android.
Postar um comentário
Nenhum comentário :
Postar um comentário