Desenvolvedor(a) Android: Um guia prático para se tornar — Parte 1

Aline Souza
Aline Souza
Published in
4 min readApr 15, 2021

Diariamente recebo mensagens no LinkedIn de pessoas no início da carreira me pedindo orientações de como iniciar na carreira.

A realidade é que eu estou longe de ser uma especialista no assunto. Mas nos últimos meses, tenho feito cada vez mais entrevistas técnicas na empresa em que atuo, o que tem me proporcionado uma grande percepção dos maiores gaps técnicos (e comportamentais) que geralmente encontramos.

E como conhecimento bom é conhecimento compartilhado, resolvi escrever esse artigo no intuito de guiar inicialmente os estudos de uma pessoa que deseja se tornar um desenvolvedor(a) Android disputado pelo mercado de trabalho.

Lógica de Programação & Orientação a Objetos

É impossível falar de programação independente da linguagem, sem citar a lógica de programação e os conceitos de orientação a objetos. É de conhecimento universal que esta é a base para qualquer programador, independente do caminho que deseja trilhar: back-end, front-end ou mobile.

A lógica de programação vai lhe ajudar a estruturar seus pensamentos no momento de codar e será seu melhor aliado para conseguir alternar entre as linguagens de programação, afinal, a lógica é sempre a mesma, o que muda é a sintaxe.

Material recomendado: Existem dezenas de vídeos no Youtube, Udemy e Alura. Eu, particularmente, gosto muito do conteúdo produzido pela Alura mas por ser pago anualmente, o valor é um pouco mais elevado.

Lifecycle

Já tive a oportunidade de ver alguns exemplos em que o entendimento da Lifecycle de Android não foi bem interpretada. Por exemplo, o mesmo trecho de código sendo chamado tanto em OnCreate quanto em OnResume . Ou seja, o código acabava sendo executado 2 vezes.

Mas afinal, o que é lifecycle?

É basicamente o ciclo de vida de uma activity (tela de um aplicativo). Assim como o ciclo de vida de nós, seres humanos é: Nascer-crescer-pagar boleto-morrer, um aplicativo também possui seu próprio ciclo de vida.

E entender quando ocorre cada uma das etapas deste ciclo é extremamente importante para conseguir identificar como usá-los ao seu favor.

Material recomendado: Documentação do Android.

Kotlin

Tem quem chame o kotlin como: irmão mais novo e descolado do Java. E realmente é basicamente isso. Kotlin é oficialmente a linguagem de programação usada para desenvolver em Android.

"Mas Aline, tem muitos apps ainda em Java. Por que escolher Kotlin?" Sim, tem. Mas como dito, o Kotlin foi escolhido pela própria Google como a linguagem de programação oficial. Então, a tendência é que os aplicativos criados em Java sejam, aos poucos, refatorados para o Kotlin. E lhe garanto: Se aprender bem o Kotlin, com certeza terá maior facilidade ao se deparar com um código em Java, tamanha a similaridade.

Material que recomendo: O próprio site da Google tem muito conteúdo!

ViewGroups

Não entendo por que muitas pessoas não dão tanta atenção para layout. Saber estruturar bem um layout é tão importante quanto a lógica do seu aplicativo. Afinal, a depender da complexidade da tela, qualquer LinearLayout a mais pode fazer diferença na performance de renderização do seu aplicativo.

Sem contar que saber manipular bem seus viewGroups vai além de performance, é questão de usabilidade (e também de acessibilidade). Uma pessoa com deficiência visual navegará por cada camada da sua tela. Portanto, quanto mais pudermos facilitar a sua utilização, melhor.

Ps.: Sem querer influenciar, mas opte sempre que der por ConstraintLayout (e fuja de RelativeLayout).

Por isso, busque estudar os benefícios de um layout com o mínimo de hierarquia, os tipos de viewGroups e qual impacto pode fazer no seu produto final.

Veja aqui a documentação de Android sobre.

Jetpack Components

Aqui a gente começa a elevar um pouco o nível. Mas que nos dias de hoje, está entrando em muitos pré-requisitos mesmo nos cargos mais juniores.

Por qual motivo? Jetpack é um conjunto de componentes e ferramentas que têm por objetivo nos auxiliar a construir aplicativos cada vez mais robustos, performáticos e eficientes de uma forma bem mais simples do que alguns anos atrás.

Estes componentes são subdivididos em 4 categorias: arquitetura, interface de usuário (UI), comportamento e fundamentação.

Cada uma destas subcategorias possuem um conjunto de ferramentas que são extremamente úteis no nosso dia a dia. Como por exemplo: viewModel, Room, LiveData, Navigation e assim por diante.

"Aline, devo estudar sobre TODOS?" Naturalmente, conforme o seu conhecimento em Android vai se elevando e você vai se aprofundando e construindo projetos cada vez mais complexos, você vai se familiarizando com cada um destes componentes. Obviamente, alguns deles a gente utiliza bem mais (como no caso da viewModel), mas é importante que você esteja constantemente lendo sobre os diferentes componentes do jetpack.
Mas inicialmente, foque em estudar os que citei acima que já será um grande passo inicial.

Leia a documentação da Google aqui.

Obviamente, existem muitos outros pontos MUITO importantes a serem estudados, que vou abordar em uma segunda parte desse artigo por serem um pouco mais avançados (como o caso de consumo de API Restful, CI/CD, SOLID, etc).

Mas se você conseguir estudar os pontos abordados acima, já é um grande avanço para se tornar um(a) desenvolvedor(a) Android.

Me siga no LinkedIn para ficar por dentro da parte 2 deste artigo.

Code Like a Girl 👧

--

--

Aline Souza
Aline Souza

Desenvolvedora Android, apaixonada por tecnologia, e aprendendo todo dia um pouco mais! Code like a girl :)