Mobile Apps

5 dicas para se atualizar no mundo Android

Por: Igor Escodro, abril 22, 2021

Introdução

O desenvolvimento de software é algo que está em constante mudança: todos os dias surgem novos conceitos, novas bibliotecas e novas recomendações. E com o universo Android não é diferente, temos o Google I/O, Android Dev Summit, além de vídeos oficiais toda a semana com novidades. Isso só falando de conteúdo oficial do Google, sem contar as centenas de publicações e bibliotecas terceiras que existem por aí.

Por conta de todas essas fontes, muitas vezes é difícil conseguir acompanhar e extrair o conteúdo que faça sentido no nosso dia a dia. O objetivo deste artigo é compartilhar dicas, fontes e conteúdos que utilizo para me manter atualizado. Sinta-se livre também para compartilhar o que funciona pra você!

Acompanhar redes sociais

As redes sociais são um ótimo lugar para seguir novidades e conteúdos interessantes de desenvolvimento de software. Devido a sua facilidade e alcance, diversas redes possuem comunidades e influenciadores Android postando conteúdo regularmente.

Uma das redes que mais acompanho para novidades é o Twitter, que é um lugar de compartilhamento bem dinâmico. Seguir as pessoas e páginas certas ajuda a ter uma gama bem ampla de artigos, projetos e informações de uma forma bem rápida.

  • Lista de geradores de conteúdo no Twitter
  • É importante frisar que as contas dos desenvolvedores não estão vinculadas ao Google ou a empresa que trabalham, logo eles podem expressar opiniões pessoais e abordar assuntos que não se tratam de conteúdo técnico.

Algumas outras páginas interessantes para seguir são:

Desenvolver um aplicativo pessoal

Eu escrevi anteriormente sobre as vantagens de se criar um aplicativo pessoal e uma delas é se manter atualizado sobre as novidades do Android. Nele é possível adicionar bibliotecas em alpha e beta, fazer atualizações de versões e substituir dependências em um ambiente controlado, sem se preocupar.

Uma outra vantagem é conseguir criar um ambiente mais complexo de estudos, que se assemelhe mais ao mundo real de desenvolvimento. Imagine que desejamos aprender sobre o Hilt e criamos um projeto para aprender a fazer as injeções. Após um tempo vamos aprender sobre ViewModel e SavedStateHandle e criamos um outro projeto. Quando desenvolvemos o nosso projeto profissional e vamos juntar os dois conceitos, descobrimos que eles precisam de alguns ajustes para funcionar juntos. Em um projeto pessoal enfrentamos esses problemas muito mais rapidamente porque todos os conceitos que estamos estudando já estão interligados.

Em um primeiro momento pode parecer que desenvolver um aplicativo pareça muito trabalhoso para estudar as novidades. Entretanto, após uma estabilização inicial, as alterações e inclusões de novas ferramentas ficam muito mais simples e objetiva do que criar um projeto para cada estudo. E o aplicativo pode ser algo muito simples, no meu caso é um gerenciador de tarefas.

Compartilhar conhecimento

Uma outra ótima maneira de se manter atualizado é compartilhar o seu conhecimento com a comunidade. Escrever artigos, gravar um vídeo ou até mesmo levar um tópico para discussão para o seu grupo de trabalho. Seguindo o ditado que “ensinar é aprender duas vezes”.

O ato de compartilhar conhecimento não está ligado com o fato de ser especialista naquele assunto. Muitas vezes pensamos que não faz sentido compartilharmos algo sendo que outra pessoa já publicou, que não existe mais nada a ser dito sobre aquele assunto. Entretanto a maneira como você compartilha com certeza vai ser diferente e pode ser que ajude várias pessoas que tiveram os mesmos problemas que você. O seu ponto de vista é muito importante!

Aqui na Dextra nós temos as Guildas de Android, assim como de outras tecnologias. A Guilda é um encontro periódico onde pessoas desenvolvedoras se reúnem e compartilham bastante conhecimento, experiência, novidades e discussões. E o mais interessante desse formato é que podemos simplesmente levar um tópico, mesmo que você não tenha conhecimento sobre ele. Gostaria de saber quais os frameworks mais conhecidos e confiáveis antes de iniciar seus estudos? É só levar o assunto para discutirmos!

Traçar uma linha mestra

É impossível saber como todas as novas bibliotecas e ferramentas funcionam a fundo. Uma forma de conseguir manter o ritmo e não se desesperar com tanta coisa é traçar uma meta de estudos. 

Por exemplo, vamos supor que queremos aprender mais sobre persistência de dados, com isso provavelmente vamos focar inicialmente no Room. Apesar do Room ajudar a diminuir muito a complexidade, ainda precisamos estudar um pouco sobre SQLite para queries mais complexas. Leitura e escrita em banco de dados são operações custosas, logo é recomendado que elas ocorram em uma thread separada, então precisaremos utilizar frameworks como Coroutines ou ReactiveX para nos auxiliar com processamento assíncrono. Implementar testes unitários com bibliotecas assíncronas envolve algumas regras específicas, logo precisaremos consultar a documentação com exemplos. E por assim vai.

No exemplo acima, onde traçamos nossa meta em persistência de dados, diversas outras questões foram levantadas ao redor: persistência de dados, SQLite, processamento assíncrono, Coroutines, Rx, teste unitário, testes assíncronos etc. E isso é normal, geralmente um assunto vai “puxando” o outro e por isso é tão importante traçar uma linha mestra de estudos. Do contrário é muito fácil se perder em tanto conteúdo disponibilizado.

Respeitar o seu tempo

A cada nova conferência oficial do Google um assunto sempre volta em pauta na comunidade: a ansiedade de aprender a enxurrada de conteúdo mostrada no evento. O sentimento de que existem mais coisas sendo lançadas do que tempo necessário para estudá-las com certeza assombra muitas pessoas. Infelizmente isso é algo que foge do nosso controle e sempre ocorrerá na área de desenvolvimento. 

Entretanto, nós podemos nos preparar para isso olhando para dentro ao invés de para fora. Algumas pessoas com certeza já tiveram a sensação de que “não sabem mais nada” após o lançamento de novas bibliotecas ou que “ficamos defasados" muito rápido. Algo a refletir é que aplicativos foram feitos até hoje sem o auxílio dessas novas ferramentas e não são inferiores por conta disso, a sua experiência até hoje foi muito valiosa e não é uma nova funcionalidade em uma biblioteca que vai invalidar o seu conhecimento.

Outro ponto para se refletir é: eu realmente preciso aprender tudo que está sendo mostrado? Muitas das ferramentas atualmente, em um sistema tão robusto como o Android, são para resolver problemas bem específicos. Uma dica é entender para o que a ferramenta serve, sem se aprofundar. Por exemplo, é interessante saber que o WorkManager é uma biblioteca para agendamento e execução de tarefas, ou que o DataStore é uma nova alternativa para o gerenciamento de SharedPreferences. Mas se você ainda não precisa implementá-los no seu projeto, será que vale a pena entrar de cabeça no estudo? Ou é mais leve saber seu propósito e estudá-la quando necessário?

 

Considerações finais

Novos conteúdos e ferramentas estão surgindo todos os dias nesse universo e a sensação de “estar ficando para trás” deixa muitas pessoas desenvolvedoras ansiosas no processo. Antes de mais nada é importante se tratar com carinho e respeitar seu tempo, ninguém precisa sair correndo para aprender alguma tecnologia logo após seu anúncio.

Este artigo tenta ajudar a criar um repositório de conteúdos e dicas para que todo esse processo de aprendizado seja mais estruturado e leve. Mas tenha em mente que essas são dicas que funcionam para mim e que cada um tem seu ritmo e fontes de pesquisa.

Lembre-se que o aprendizado é uma maratona e não uma corrida, e que todo esse processo pode ser bem mais cooperativo do que competitivo. 

Bons estudos!

Posts relacionados

  • Receba nosso conteúdo em primeira mão.