Mapa do desenvolvedor do Android em 2019

Olá pessoal! Temos ótimas notícias. Este mês, o curso básico para desenvolvedores Android , bem como a especialização para desenvolvedores Android , que inclui um pacote completo de cursos, serão iniciados em Otus. Nesse sentido, estamos compartilhando com você um artigo útil, cuja tradução se limita a esses lançamentos.



2019 é a hora de se tornar um desenvolvedor Android. Levando em conta as inovações e o progresso que está ocorrendo no campo do desenvolvimento do Android, podemos dizer que agora é a hora de fazer parte desse movimento. Os recentes avanços no Kotlin, no Android Things e em outras tecnologias tornam o Android uma prioridade para iniciantes, possibilitando o recebimento de informações relevantes e avançando em uma determinada direção.


Decidi escrever este guia depois de pensar no fato de que, em 2017, eu mesma segui o mesmo caminho. Espero que ajude você a se tornar o tipo de desenvolvedor Android que deseja ser.
Vamos começar com o básico.


Comece a desenvolver para Android


  1. Confira os conceitos básicos de Java no Head First Java ;
  2. Instale o Android Studio ;
  3. Instale o Kotlin no Android Studio (você pode pular esta etapa se não estiver preparado para aprender o Kotlin este ano);
  4. Confira a interface do usuário do Android e saiba mais sobre os componentes XML e View.

Ao fazer isso, você não apenas terá um bom ambiente de desenvolvimento para criar aplicativos para Android, mas também estará familiarizado com o básico para entender a terminologia geral usada pelos desenvolvedores na maioria dos tutoriais.
Agora você pode criar aplicativos simples e implementar novos recursos neles. Sinta-se livre para começar com um espaço de trabalho vazio. Com a ajuda da imaginação e das habilidades, você pode preenchê-lo facilmente.


Quando você tiver idéias suficientes, o próximo objetivo para 2019 é criar um jogo que o desenvolverá como um desenvolvedor que cria aplicativos por bilhões. Agora vamos para o segundo nível!


Estamos desenvolvendo como desenvolvedor Android


A lista a seguir deve ser concluída passo a passo. Vai se tornar uma escada para você, subindo na qual você pode aprender algo novo, perceber a si mesmo e seguir em frente.


  • Entenda o ciclo de vida da atividade para promover um aplicativo funcional;
  • Use designs de interface de usuário dinâmicos e flexíveis com fragmentos;
  • Aprenda a depurar seu aplicativo para Android. Você pode usar o depurador do Android Studio para isso;
  • Lide com as atividades do Android para criar telas com as quais o usuário possa navegar no seu aplicativo;
  • Tenha uma idéia do contexto no Android;
  • Aprenda REST e HTTP, pois a maioria dos desenvolvedores profissionais é bem versada nos aspectos de REST e HTTP;
  • Aprenda a usar multithreading:
    • Aprenda a direcionar o fluxo de main;
    • Reconhecer a importância do multithreading;
    • Explore as aulas fornecidas para ajudá-lo a aprender a usar o multithreading no menor tempo possível;
    • Descubra como o Android lida com os threads no nível do sistema e como isso pode afetar sua escolha da arquitetura do aplicativo e qualquer aspecto dela;
    • Conheça as nuances da memória do sistema e do código multiencadeado;
    • Aprenda a aplicar soluções multithread para tarefas complicadas e complexas.
  • Torne-se um especialista no tratamento de alterações na configuração:
    • Ao salvar o objeto durante alterações na configuração;
    • Alterações de autoprocessamento.
  • Entenda os bancos de dados e SQL:
    • Bancos de dados em nuvem
    • Bancos de dados offline e locais;
    • Arquiteturas offline e práticas offline básicas.
  • Aprenda sobre os provedores de conteúdo:
    • Aprenda a compartilhar dados com outros aplicativos;
    • Aprenda como acessar dados de outros aplicativos;
    • Crie um provedor de conteúdo que ajude outros aplicativos a acessá-lo com segurança e modificar dados nele;
    • Jogue com seu provedor de calendário e contato.
  • Aprenda sobre as melhores bibliotecas Android de terceiros. [O mais útil e amplamente utilizado] :


    • Okhttp
    • GSON
    • Retrofit
    • Glide
    • Faca de manteiga
    • Crashlytics
    • Goiaba


Todas essas etapas ajudarão você a construir uma compreensão profissional sólida do ecossistema Android e a prepará-lo para trabalhar com pelo menos 10 a 15 tipos diferentes de casos de negócios para aplicativos Android.


Explore os padrões de desempenho do Android


Se você realmente deseja obter uma experiência extremamente poderosa e memorável com o Android, os modelos de desempenho serão uma boa ajuda para você. Ao concluir a lista de ações a seguir, você não apenas aprenderá como usá-las, mas também se familiarizará com aquelas que podem perder. Modelos de desempenho são uma ferramenta incrível nas mãos de um desenvolvedor Android. Portanto, você precisará descobrir o seguinte no que diz respeito aos padrões de desempenho do Android:


  • Tarefas assíncronas são inúteis para processos executados como resultado de chamadas longas ou de streaming. Aprenda a usar o Handlerthread para lidar com esses processos de maneira diferente;
  • Aprenda a lidar com vazamentos de memória;
  • Aprenda a combinar o IntentService com multithreading para aumentar a eficiência;
  • Examine os padrões de desempenho do Serviço Android para eliminar os serviços assim que executados;
  • Familiarize-se com contêineres hashmap específicos do Android para equilibrar desempenho e memória ao criar aplicativos;
  • Aprenda a usar a ferramenta de monitoramento de memória para observar como a alocação afeta o desempenho do seu aplicativo;
  • Otimize seus aplicativos de rede com cache;
  • Otimize a frequência das solicitações de rede do seu aplicativo;
  • Aprenda a lidar com a exibição de vazamentos;
  • Descubra como o coletor de lixo funciona;
  • Entenda como a atualização das propriedades visuais do seu aplicativo afeta o desempenho;
  • Entenda profundamente a sincronização vertical;
  • Entenda como a interface se correlaciona no Android e na GPU para descobrir as dificuldades com as quais você precisa lidar para garantir o bom funcionamento do seu aplicativo;
  • Entenda como criar um aplicativo que produz 60 fps sem perder quadros e descubra quantos outros aplicativos competem com os seus pelos recursos do sistema e desenvolva estratégias para processá-los;
  • Aprenda a acompanhar o desempenho da GPU e melhorar a renderização do seu aplicativo;
  • Aprenda estratégias que podem ajudá-lo a esgotar sua bateria menos;
  • Competir contra outros desenvolvedores cujos aplicativos estão na melhor seção da PlayStore e tentar melhorar o tempo de inicialização. Vamos ver até onde você pode ir.
  • Reduza o tamanho do seu aplicativo.

Vamos subir para o terceiro nível!


Mergulhe na otimização de memória com ferramentas Bitmap


Aprenda a usar o Glide para processar objetos de bitmap em seu aplicativo Android. Você encontrará problemas ao processar toneladas de conteúdo em um aplicativo que exigirá extrair imagens, decodificá-las e exibir objetos de bitmap. Se você não aprender como fazê-lo corretamente, seu aplicativo não será bem-sucedido, pois os usuários podem decidir que não é de alta qualidade.


Observe que agora você precisa processar objetos de bitmap de até 48 MB de imagens da câmera, que hoje podem ser emitidas pela câmera do usuário. Eles podem facilmente comer toda a memória disponível.


Componentes da arquitetura do Android


Uma das coisas mais importantes que aprendi como desenvolvedor do Android foi a capacidade de implementar práticas inovadoras em arquiteturas e seus componentes. Assim que comecei a ir além do MVP, MVVM, MVx, etc., percebi que havia um enorme espaço para inovação em torno desses componentes arquiteturais.


Por exemplo, em 2017, as configurações de BLE (Bluetooth de baixa energia) por padrão não correspondiam ao nível adequado. Entender que esse componente da arquitetura pode ser aprimorado criando uma biblioteca de serviços intermediários foi uma descoberta real para mim.


Portanto, para entender bem este tópico, sugiro que você selecione os componentes arquiteturais individuais do seu aplicativo e aprenda a otimizá-los. Aqui estão os que me vêm à mente:


  • Ligação de dados
  • Ciclos de vida
  • Livedata
  • Navegação
  • Paging
  • Quarto
  • ViewModel
  • Workmanager

Torne-se um profissional de teste


Você não quer se tornar um daqueles desenvolvedores que, em caso de erro, dizem "funciona bem na minha máquina", certo? Portanto, com base no conhecimento da arquitetura e na otimização de seu aplicativo, crie testes de unidade (JUnit4), aprenda a usar o Espresso e concentre-se nos relatórios de cobertura de código que irão encantar os principais desenvolvedores e VPEs. Pense em como esses relatórios podem ser úteis para outros desenvolvedores, testadores, gerentes ou outras partes interessadas e ajude-os a lidar com problemas críticos de desempenho de aplicativos e a priorizar.


Lembre-se de automatizar e reutilizar testes na medida do possível. Essa abordagem abrirá o caminho para você ocupar posições de liderança.


Programação reativa com RxJava


Escusado será dizer e muito provavelmente que esse aspecto seja o mais importante em seu currículo e em seu portfólio profissional. Existem muitos lugares onde você pode aprender na prática como trabalhar com o RxJava. Vou recomendar as seguintes fontes:



Serão um bom ponto de partida no caminho para dominar o RxJava e seus aspectos. Se você quiser saber mais sobre o RxJava, verifique-os e também aprenda:


  1. Toda a profundidade do Observables no RxJava;
  2. Implementação de armazenamento em cache no RxJava.

Saiba tudo sobre o punhal


As etapas a seguir ajudarão você a se tornar um profissional no Dagger:


  1. Navegue pela documentação e chegue ao final do processo de injeção de dependência;
  2. Faça uma lista de restrições;
  3. Crie um projeto e use o Dagger 2 nele.

Torne-se um especialista em segurança


Desenvolvedor Android profissional e especialista em segurança da informação? Uau! Isso raramente pode ser combinado em uma pessoa!


E aqui estão algumas coisas com as quais você pode se familiarizar em 2019 para se tornar uma:


  • Aprenda a isolar os dados e o código do seu aplicativo de outros aplicativos;
  • Aprenda funções criptográficas e implemente-as;
  • Aprenda a reduzir os riscos associados aos erros de gerenciamento de memória;
  • Aprenda a usar da melhor maneira as permissões de usuário para gerenciar dados do aplicativo;
  • Armazene e criptografe dados com segurança em: armazenamento local, em movimento ou na nuvem;
  • Torne-se um profissional de provedor de conteúdo para garantir acesso seguro;
  • Certifique-se de ocultar os dados (ou seja, ofuscação);
  • Aprenda como você pode implementar suas próprias soluções de segurança que não fazem parte da pilha principal do Android;
  • Audite as bibliotecas de terceiros, a fim de discriminá-las pelo nível de vulnerabilidades e formar um documento de pesquisa para si mesmo que ajudará no futuro;
  • Trabalhe para tornar o BLE mais seguro.
    Sobre isso eu vou terminar. Espero que este artigo o ajude a se tornar um desenvolvedor Android profissional, se você começar a fazer isso agora em 2019!

Só isso. Aguardando seus comentários!

Source: https://habr.com/ru/post/pt463019/


All Articles