SlideShare uma empresa Scribd logo
Memórias das 
trincheiras
O que?
Dicas, truques, experiências de 
uma equipe desenvolvendo 
projetos mobile nos últimos 4 
anos. O que deu certo, o que 
deu errado, as armadilhas, os 
sucessos e problemas.
Quem?
Elton Minetto 
Desenvolvedor/sócio da Coderockr 
@eminetto 
Thiago Vieira 
Designer/UX da Coderockr 
@thiagovieiracom 
Julia Possamai 
Desenvolvedora iOS/sócia da Coderockr 
Guilherme Oliveira 
Desenvolvedor Android da Coderockr 
@_holiveira
O bonito sai 
caro!
Ofereça algo antes de pedir 
Ofereça algo ao usuário antes de pedir 
seus dados, ele quer experimentar antes 
de se dispor a um compromisso
Explicar melhor as coisas 
Explicar o uso de 
serviços como 
“Localização” 
e“Push 
Notifications” 
antes de pedir a 
permissão do 
usuário
Walkthrough 
Walkthrough para 
atividades/ 
fluxos“complexos" 
ou novos
Contexto 
Atenha-se ao 
escopo e não 
fuja do objetivo 
principal
Teclado Inteligente 
Ofereça ao 
usuário uma 
forma de inserir 
os dados sem 
que ele tenha 
que sair do 
ambiente
Teclado Inteligente 
Ofereça ao 
usuário uma 
forma de inserir 
os dados sem 
que ele tenha 
que sair do 
ambiente
Feedbacks 
Mantenha o 
usuário ciente do 
que seu app está 
fazendo, para 
ele não é tudo 
tão óbvio
Feedbacks 
Mantenha o 
usuário ciente do 
que seu app está 
fazendo, para 
ele não é tudo 
tão óbvio
Notificações 
Segmente as 
notificações para 
facilitar a leitura
iOS não é Android e vice 
versa
Cuide bem 
do seu 
backend!
Não subestime a 
complexidade 
Sincronização, login, sistemas legados, 
JSON, SOAP, etc
Se for feito pelo cliente 
Cobre especificação detalhada 
Cobre testes 
Cobre versões estáveis
Se for feito por você 
Existem diversas ferramentas. Escolha 
uma que seja madura e que sua 
equipe tenha experiência. 
Silex, Zend Framework 2, Rails, Django, 
NodeJS, etc
Parse 
Ótimo para 
projetos simples
Parse 
Para projetos 
maiores a 
complexidade 
aumenta muito
Não, não 
vai rodar no 
seu Android 
de R$ 50!
Não subestime a diversidade 
de versões e aparelhos 
Especifique no contrato com o cliente as 
versões mínimas de hardware e software
Use e abuse de bibliotecas 
de suporte 
Support v4 e Appcompat v7 trazem as 
funcionalidades de Action Bar, Fragments, 
entre outras features, para versões mais 
antigas, e mimifica o comportamento 
delas entre as versões
Defina corretamente a 
arquitetura 
SyncAdapter 
Ideal para processos que tem uma 
sincronia não mandatória. É muito 
recomendado para sync paralelo, onde 
você não tem uma necessidade de 
tempo real
Defina corretamente a 
arquitetura 
Activity ou Fragment 
Os desenvolvedores logo que descobrem 
o Fragment, querem usá-los para tudo, 
mas é um erro que pode custar a forma 
com que o app se comporta, 
principalmente com o botão voltar, a 
restauração do aplicativo para 
foreground, etc.
Defina corretamente a 
arquitetura 
Tabs ou 
NavigationDrawer 
Um aplicativo 
apresenta poucos 
itens no menu não 
existe a necessidade 
de um navigation 
que demanda dois 
toques para atingir o 
conteúdo desejado
Hamburger não!
Resumindo 
"A escolha dos patterns e arquitetura 
correta, vai diminuir drasticamente (FOR 
REAL!) os seus problemas com 
comportamentos inesperados.” 
Guilherme Oliveira
Cuidado 
com a 
maçã!
Prazos e aprovação 
Lembre-se sempre do prazo da Apple 
para aprovações 
Determine no contrato que você não 
tem controle sobre isso 
Mostre ao cliente funcionalidades que 
podem causar problemas na aprovação
Não, não é 
igual a um 
site!
Qual o valor de um app? 
Clientes ainda não sabem o real valor 
de um app
Quão complexo é um app? 
Clientes ainda não tem a real noção da 
complexidade
App mobile não é site
Contato
http://eltonminetto.net 
@eminetto 
eminetto@coderockr.com 
Preciso do seu feedback! 
plp.io/tfvf

Mais conteúdo relacionado

Mais procurados

Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
Gabriel Moura
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result pattern
Ana Manzan
 
Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis   Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis
Agile Trends
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
Cristiano Schwening
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
ewerttonbravo
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
Rodrigo Branas
 
jCompany X Geradores de Códigos
jCompany X Geradores de CódigosjCompany X Geradores de Códigos
jCompany X Geradores de Códigos
Powerlogic Consultoria e Sistemas
 
Framework JGenesis
Framework JGenesisFramework JGenesis
Framework JGenesis
Comunidade Tá safo!
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Ricardo Bánffy
 
Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnit
JugVale
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadores
Gabriel Oliveira
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
minastestingconference
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
Eric Lemes
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
MarcosMaozinha
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
Marcelo Andrade
 
TDC2018FLN | Trilha Java - Não acho o bug e agora?
TDC2018FLN | Trilha Java - Não acho o bug e agora?TDC2018FLN | Trilha Java - Não acho o bug e agora?
TDC2018FLN | Trilha Java - Não acho o bug e agora?
tdc-globalcode
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Marcio Miyamoto
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Milfont Consulting
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
Sthanley Carlos De Lima Junior
 

Mais procurados (20)

Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Notification e result pattern
Notification e result patternNotification e result pattern
Notification e result pattern
 
Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis   Eduardo Rocha - Criando produtos invisíveis
Eduardo Rocha - Criando produtos invisíveis
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
 
jCompany X Geradores de Códigos
jCompany X Geradores de CódigosjCompany X Geradores de Códigos
jCompany X Geradores de Códigos
 
Framework JGenesis
Framework JGenesisFramework JGenesis
Framework JGenesis
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnit
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadores
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
TDC2018FLN | Trilha Java - Não acho o bug e agora?
TDC2018FLN | Trilha Java - Não acho o bug e agora?TDC2018FLN | Trilha Java - Não acho o bug e agora?
TDC2018FLN | Trilha Java - Não acho o bug e agora?
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
 

Semelhante a Memorias das trincheiras

Memorias das trincheiras - 2015
Memorias das trincheiras - 2015Memorias das trincheiras - 2015
Memorias das trincheiras - 2015
Elton Minetto
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Édipo Souza
 
Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...
Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...
Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...
Rafael Burity
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Henrique Perticarati
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobile
Gustavo Barbosa
 
Testes em Flutter.pdf
Testes em Flutter.pdfTestes em Flutter.pdf
Testes em Flutter.pdf
PauloAlberto71
 
BrazilJS 2012
BrazilJS 2012BrazilJS 2012
BrazilJS 2012
Vende Publicidade
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Thiago Colares
 
Usabilidade de Interfaces - Parte 3
Usabilidade de Interfaces - Parte 3Usabilidade de Interfaces - Parte 3
Usabilidade de Interfaces - Parte 3
Oziel Moreira Neto
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
Paulo Igor Alves Godinho
 
Prototipagem em Papel - Oficina
Prototipagem em Papel - OficinaPrototipagem em Papel - Oficina
Prototipagem em Papel - Oficina
Ltia Unesp
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
ECRAYON Tecnologia Criativa
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
Lógica Digital
 
Android DevConference - Develop on Android and find success on Google Play
Android DevConference - Develop on Android and find success on Google PlayAndroid DevConference - Develop on Android and find success on Google Play
Android DevConference - Develop on Android and find success on Google Play
iMasters
 
Desenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsDesenvolvendo Windows Store Apps
Desenvolvendo Windows Store Apps
Thiago Coelho
 
Como construir uma boa realidade aumentada
Como construir uma boa realidade aumentadaComo construir uma boa realidade aumentada
Como construir uma boa realidade aumentada
Vinícius da Costa
 
Developer Experience no Nubank
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no Nubank
Letticia Nicoli
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Pedro Edson Silva Barros
 
Os caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobileOs caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobile
Pedro Edson Silva Barros
 
DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?
Letticia Nicoli
 

Semelhante a Memorias das trincheiras (20)

Memorias das trincheiras - 2015
Memorias das trincheiras - 2015Memorias das trincheiras - 2015
Memorias das trincheiras - 2015
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...
Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...
Android vs. iOS - Relatório de diferenças na abordagem de interface visual e ...
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobile
 
Testes em Flutter.pdf
Testes em Flutter.pdfTestes em Flutter.pdf
Testes em Flutter.pdf
 
BrazilJS 2012
BrazilJS 2012BrazilJS 2012
BrazilJS 2012
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
 
Usabilidade de Interfaces - Parte 3
Usabilidade de Interfaces - Parte 3Usabilidade de Interfaces - Parte 3
Usabilidade de Interfaces - Parte 3
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
Prototipagem em Papel - Oficina
Prototipagem em Papel - OficinaPrototipagem em Papel - Oficina
Prototipagem em Papel - Oficina
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Android DevConference - Develop on Android and find success on Google Play
Android DevConference - Develop on Android and find success on Google PlayAndroid DevConference - Develop on Android and find success on Google Play
Android DevConference - Develop on Android and find success on Google Play
 
Desenvolvendo Windows Store Apps
Desenvolvendo Windows Store AppsDesenvolvendo Windows Store Apps
Desenvolvendo Windows Store Apps
 
Como construir uma boa realidade aumentada
Como construir uma boa realidade aumentadaComo construir uma boa realidade aumentada
Como construir uma boa realidade aumentada
 
Developer Experience no Nubank
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no Nubank
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 
Os caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobileOs caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobile
 
DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?DevOps e Apps Mobile: Você realmente se importa?
DevOps e Apps Mobile: Você realmente se importa?
 

Mais de Elton Minetto

Go e Microserviços - Nascidos um para o outro
Go e Microserviços - Nascidos um para o outroGo e Microserviços - Nascidos um para o outro
Go e Microserviços - Nascidos um para o outro
Elton Minetto
 
Object Calisthenics em Go
Object Calisthenics em GoObject Calisthenics em Go
Object Calisthenics em Go
Elton Minetto
 
Programar != desenvolver software (v2)
Programar != desenvolver software (v2)Programar != desenvolver software (v2)
Programar != desenvolver software (v2)
Elton Minetto
 
Gerenciando uma startup no Github Projects
Gerenciando uma startup no Github ProjectsGerenciando uma startup no Github Projects
Gerenciando uma startup no Github Projects
Elton Minetto
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
Elton Minetto
 
Serverless em Go
Serverless em GoServerless em Go
Serverless em Go
Elton Minetto
 
JAMstack
JAMstackJAMstack
JAMstack
Elton Minetto
 
Clean architecture em Go - v2
Clean architecture em Go - v2Clean architecture em Go - v2
Clean architecture em Go - v2
Elton Minetto
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver software
Elton Minetto
 
Clean Architecture em PHP
Clean Architecture em PHPClean Architecture em PHP
Clean Architecture em PHP
Elton Minetto
 
Clean Architecture in Golang
Clean Architecture in GolangClean Architecture in Golang
Clean Architecture in Golang
Elton Minetto
 
A jornada do desenvolvedor
A jornada do desenvolvedorA jornada do desenvolvedor
A jornada do desenvolvedor
Elton Minetto
 
Product and Technology
Product and TechnologyProduct and Technology
Product and Technology
Elton Minetto
 
Code:Nation Tech Stack
Code:Nation Tech StackCode:Nation Tech Stack
Code:Nation Tech Stack
Elton Minetto
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIs
Elton Minetto
 
12 factor in the PHP world
12 factor in the PHP world12 factor in the PHP world
12 factor in the PHP world
Elton Minetto
 
Building APIs using Go
Building APIs using GoBuilding APIs using Go
Building APIs using Go
Elton Minetto
 
Start you
Start youStart you
Start you
Elton Minetto
 
O case da Compufácil e AWS
O case da Compufácil e AWSO case da Compufácil e AWS
O case da Compufácil e AWS
Elton Minetto
 
Introdução a Go
Introdução a GoIntrodução a Go
Introdução a Go
Elton Minetto
 

Mais de Elton Minetto (20)

Go e Microserviços - Nascidos um para o outro
Go e Microserviços - Nascidos um para o outroGo e Microserviços - Nascidos um para o outro
Go e Microserviços - Nascidos um para o outro
 
Object Calisthenics em Go
Object Calisthenics em GoObject Calisthenics em Go
Object Calisthenics em Go
 
Programar != desenvolver software (v2)
Programar != desenvolver software (v2)Programar != desenvolver software (v2)
Programar != desenvolver software (v2)
 
Gerenciando uma startup no Github Projects
Gerenciando uma startup no Github ProjectsGerenciando uma startup no Github Projects
Gerenciando uma startup no Github Projects
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Serverless em Go
Serverless em GoServerless em Go
Serverless em Go
 
JAMstack
JAMstackJAMstack
JAMstack
 
Clean architecture em Go - v2
Clean architecture em Go - v2Clean architecture em Go - v2
Clean architecture em Go - v2
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver software
 
Clean Architecture em PHP
Clean Architecture em PHPClean Architecture em PHP
Clean Architecture em PHP
 
Clean Architecture in Golang
Clean Architecture in GolangClean Architecture in Golang
Clean Architecture in Golang
 
A jornada do desenvolvedor
A jornada do desenvolvedorA jornada do desenvolvedor
A jornada do desenvolvedor
 
Product and Technology
Product and TechnologyProduct and Technology
Product and Technology
 
Code:Nation Tech Stack
Code:Nation Tech StackCode:Nation Tech Stack
Code:Nation Tech Stack
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIs
 
12 factor in the PHP world
12 factor in the PHP world12 factor in the PHP world
12 factor in the PHP world
 
Building APIs using Go
Building APIs using GoBuilding APIs using Go
Building APIs using Go
 
Start you
Start youStart you
Start you
 
O case da Compufácil e AWS
O case da Compufácil e AWSO case da Compufácil e AWS
O case da Compufácil e AWS
 
Introdução a Go
Introdução a GoIntrodução a Go
Introdução a Go
 

Memorias das trincheiras

  • 3. Dicas, truques, experiências de uma equipe desenvolvendo projetos mobile nos últimos 4 anos. O que deu certo, o que deu errado, as armadilhas, os sucessos e problemas.
  • 5. Elton Minetto Desenvolvedor/sócio da Coderockr @eminetto Thiago Vieira Designer/UX da Coderockr @thiagovieiracom Julia Possamai Desenvolvedora iOS/sócia da Coderockr Guilherme Oliveira Desenvolvedor Android da Coderockr @_holiveira
  • 6. O bonito sai caro!
  • 7. Ofereça algo antes de pedir Ofereça algo ao usuário antes de pedir seus dados, ele quer experimentar antes de se dispor a um compromisso
  • 8. Explicar melhor as coisas Explicar o uso de serviços como “Localização” e“Push Notifications” antes de pedir a permissão do usuário
  • 9. Walkthrough Walkthrough para atividades/ fluxos“complexos" ou novos
  • 10. Contexto Atenha-se ao escopo e não fuja do objetivo principal
  • 11. Teclado Inteligente Ofereça ao usuário uma forma de inserir os dados sem que ele tenha que sair do ambiente
  • 12. Teclado Inteligente Ofereça ao usuário uma forma de inserir os dados sem que ele tenha que sair do ambiente
  • 13. Feedbacks Mantenha o usuário ciente do que seu app está fazendo, para ele não é tudo tão óbvio
  • 14. Feedbacks Mantenha o usuário ciente do que seu app está fazendo, para ele não é tudo tão óbvio
  • 15. Notificações Segmente as notificações para facilitar a leitura
  • 16. iOS não é Android e vice versa
  • 17. Cuide bem do seu backend!
  • 18. Não subestime a complexidade Sincronização, login, sistemas legados, JSON, SOAP, etc
  • 19. Se for feito pelo cliente Cobre especificação detalhada Cobre testes Cobre versões estáveis
  • 20. Se for feito por você Existem diversas ferramentas. Escolha uma que seja madura e que sua equipe tenha experiência. Silex, Zend Framework 2, Rails, Django, NodeJS, etc
  • 21. Parse Ótimo para projetos simples
  • 22. Parse Para projetos maiores a complexidade aumenta muito
  • 23. Não, não vai rodar no seu Android de R$ 50!
  • 24. Não subestime a diversidade de versões e aparelhos Especifique no contrato com o cliente as versões mínimas de hardware e software
  • 25. Use e abuse de bibliotecas de suporte Support v4 e Appcompat v7 trazem as funcionalidades de Action Bar, Fragments, entre outras features, para versões mais antigas, e mimifica o comportamento delas entre as versões
  • 26. Defina corretamente a arquitetura SyncAdapter Ideal para processos que tem uma sincronia não mandatória. É muito recomendado para sync paralelo, onde você não tem uma necessidade de tempo real
  • 27. Defina corretamente a arquitetura Activity ou Fragment Os desenvolvedores logo que descobrem o Fragment, querem usá-los para tudo, mas é um erro que pode custar a forma com que o app se comporta, principalmente com o botão voltar, a restauração do aplicativo para foreground, etc.
  • 28. Defina corretamente a arquitetura Tabs ou NavigationDrawer Um aplicativo apresenta poucos itens no menu não existe a necessidade de um navigation que demanda dois toques para atingir o conteúdo desejado
  • 30. Resumindo "A escolha dos patterns e arquitetura correta, vai diminuir drasticamente (FOR REAL!) os seus problemas com comportamentos inesperados.” Guilherme Oliveira
  • 31. Cuidado com a maçã!
  • 32. Prazos e aprovação Lembre-se sempre do prazo da Apple para aprovações Determine no contrato que você não tem controle sobre isso Mostre ao cliente funcionalidades que podem causar problemas na aprovação
  • 33. Não, não é igual a um site!
  • 34. Qual o valor de um app? Clientes ainda não sabem o real valor de um app
  • 35. Quão complexo é um app? Clientes ainda não tem a real noção da complexidade
  • 36. App mobile não é site
  • 38. http://eltonminetto.net @eminetto eminetto@coderockr.com Preciso do seu feedback! plp.io/tfvf