Trabalhei durante anos como backend e webdeveloper. Nessa apresentação você pode ver qual foi o meu processo. Como funciona o Android, quais conhecimentos são reaproveitáveis e quais são as ferramentas no dia a dia.
2. Eduardo Cucharro
//Desenvolvedor desde 2007
//Aplicações Desktop
//Aplicações web e Sites
//Apis Restful / WebServices
//Processos backend / integrações
//Aplicações Mobile
//Grupo Minha Vida (Time Dieta e Saúde)
3. Tecnologias
//Desenvolvedor desde 2007
//Delphi Forms, Windows forms (Delphi, VB.NET, C#)
//Asp.NET MVC/Webforms, Javascript, Jquery, CSS, KnockoutJS
//Asp.NET WebAPI
//IIS WindowsServices, Console applications
//Android (Java, Android Studio, Gradle, JUnit, Espresso)
//Grupo Minha Vida (Time Dieta e Saúde)
4. //Resultado pro usuário, o que ele podia fazer...
//UI, velocidade, beleza, flexibilidade (responsive)
//Militante Padrões web (w3c conf, Mix, BrazilJS, TDC…)
//Novos frameworks que fazia o mesmo de formas diferentes
//Evolução lenta do browser como plataforma
//Backend no mesmo cenário (ADO.NET, LinqToSQl, Entity F..)
//Sempre atrás...
Frustração
6. //Apis (O que dá pra fazer com isso?)
//Comunidade (Empresas e desenvolvedores)
//Frameworks (ui, database, rede…)
//Acesso (Custo de uso, custo de compra)
//Ferramentas e produtividade (IDE, linguagem, deploy)
//Mercado (Potenciais clientes, empresas, investimentos, $)
//Potencial de evolução (Até onde dá pra chegar…)
Plataforma
7. //Apis - Evolução lenta, adoção mais lenta (Padrões web)
//Comunidade - Excelente, colaborativa, humilde...
//Frameworks - Evolução insana (Angular, React, Knockout…)
//Acesso - Grátis (linux, apache, node, ruby, python…)
//Ferramentas - Boas grátis, melhores…$ (sublime, webstorm)
//Mercado - Gigante (desktop, android, ios, corporativo…)
//Potencial de evolução - Baixo (vide apis)
Web
8. //Apis - Baixa evolução (UI e performance)
//Frameworks - Foco performance, produtividade (EF, MVC)
//Comunidade - Forte e replicadora...
//Acesso - Custo alto (servidores SO, ferramental pago…)
//Ferramentas - Constante evolução, veloz, produtiva...
//Mercado - Estagnado, empresas estabelecidas...
//Potencial de evolução - Baixo
Backend
10. //GPS (Aonde a pessoa está)
//BLE (Comunicação P2P de alta velocidade)
//2 Cameras de alta resolução
//Touch screen
//Acesso a GPU e open GL
//NFC, Giroscópio, Acelerometro...
Smart devices
13. //Código público no github
//Apps publicados
//Experiência provada
//Tempo de trabalho como complementa
//Freelance, remoto, contrato
//Mercado Mundial
Valorização por trabalho realizado
16. //2 cursos de Android no Coursera (3 meses)
//Papo com gestor de interesse em trabalhar no Time Mobile
//Time mobile (4 Android e 2 IOS) saíram
//Enfim time mobile só que sozinho :)
//Dieta e saúde - 300 mil usuários no Android
//O desafio começou
Depois de um tempo...
18. //Se ficar com sensores ligados o tempo todo fica cansado
//Se pensar demais fica cansado
//Se olhar tudo o tempo todo tb, avisos
//Disputa a atenção, vive com os outros
//"Dinheiro limitado" (rede, energia, armazenamento, cpu)
//Eficiência e inteligência pra se manter vivo
Android (super pessoa eletrônica)
19. //Devices com N configurações e recursos
//Recursos variáveis (pouco armazenamento, memória, cpu)
//Telas de densidades e tamanhos diferentes
//Código pausado e reiniciado o tempo todo
//Rede intermitente, bateria acabando
//Comunicação entre apps, apps por função
//N versões de android, Apis, UI...
Desafios (Resiliência, performance...)
38. //Funcionamento da UI - MSTestManager/Selenium/Espresso
//Integração entre componentes do próprio app - Espresso
//Lógica do negócio/UnitTesting - MSTest/Karma/JUnit/Mockito
Testabilidade
39. //Espresso Core - Basic Interaction, Matches Assertions
//Espresso Contrib - RecyclerView, NavDrawer, Picker
//Hamcrest - Muitos outros matches
//Espresso Web - Uso com webviews
//Espresso Idling - Sincronização de Jobs
Espresso libs
48. //Cadastro por $25,00
//Integração com Testes Firebase/GCP
//Canais de distribuição Alpha/Beta/Prod
//Gestão loja (Teste A/B, Comentários)
//Estatísticas
Google play
49. //Web - Deploy servers (app atualizado pra todos)
//Desktop - Click once (depende usuário)
//Multiplas versões em prod
//Versões por recursos
//Gestão de atualizações planejada
//Qualidade essencial ou prejuizo gigantesco
Deploy
55. //Análise plataforma
//Potencial mercado
//Mindset de desenvolvimento diferente
//Importância Threading no Android
//Processo e componentes app android
//Build, Publicação e monitoramento de um app
Resumo