Marcelo Quinta
Boas práticas para desenvolvimento
Mobile
domingo, 15 de dezembro de 13
Diversão
7 anos com Mobile
Guia
M-commerceAnimação digital
FotografiaPDVSertanejoPublicidade
EventosMedicina
domingo, 15 de dezembro de 13
Isso é um computador
Processador
Teclado
Memória
Conexão com internet
Placa gráfica
Memória secundária
Sistema operacionalTem aplicações
domingo, 15 de dezembro de 13
Isso não é um computador
Processador
Teclado
Memória
Conexão com internet
Placa gráfica
Memória secundária
Sistema operacionalTem aplicações
domingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
Restrições de sistema
• Conexões só na thread secundária
• Você não pode acessar tudo
• Existem processos que podem ter mais prioridade
• A conexão é ruim
• Você precisa da permissão
• Diferentes suporte a mídias
domingo, 15 de dezembro de 13
Tempo de resposta
domingo, 15 de dezembro de 13
Diferentes plataformas
Diferentes designsdomingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
Aqui é diferente• “Meu aplicativo vai fazer o computador desligar
rapidinho”
• “Meu aplicativo só roda em um certo tipo de PC”
• “Meu sistema web sempre deve seguir as regras da W3C, senão não vão deixar publicar”
• “E se o usuário rodar o monitor?”
• “Roda em PC. E quando eu abrir no notebook?”
domingo, 15 de dezembro de 13
Mesma plataforma
Diferentes designsdomingo, 15 de dezembro de 13
Os componentes de interface são diferentes
domingo, 15 de dezembro de 13
Emulador?
domingo, 15 de dezembro de 13
3G é TIMÉ o pior cenário possível
domingo, 15 de dezembro de 13
Threads e assincronia
domingo, 15 de dezembro de 13
Ciclo de vida
domingo, 15 de dezembro de 13
Velocidade
AtualizaçãoInício difícil
Design
Moço,bora tomar uma
cerveja!
Reuso
domingo, 15 de dezembro de 13
Antigamente tinha...
http://www.theultimateandroidlibrary.com/
domingo, 15 de dezembro de 13
Onde encontrar
http://www.openintents.org/en/libraries
domingo, 15 de dezembro de 13
Onde encontrar
http://www.androidviews.net
domingo, 15 de dezembro de 13
Bibliotecas do Google
domingo, 15 de dezembro de 13
Bibliotecas do Google
https://code.google.com/apis/console/
Mapas
Youtube
Google Play
Google Drive
Calendar
Game Service
Latitude
Translate... ...
domingo, 15 de dezembro de 13
ACTIONBAR PARA VERSÕES ANTIGAS
Ou procure o projeto AppCompat
domingo, 15 de dezembro de 13
Collapsible Search Menu
https://github.com/johnkil/Android-CollapsibleSearchMenu
domingo, 15 de dezembro de 13
Android Form Validator
https://github.com/throrin19/Android-Validator
domingo, 15 de dezembro de 13
PullToRefresh
https://github.com/throrin19/Android-Validator
domingo, 15 de dezembro de 13
ViewPager
http://viewpagerindicator.com/
domingo, 15 de dezembro de 13
Android Annotations
http://androidannotations.org/
domingo, 15 de dezembro de 13
Joda Time
http://joda-time.sourceforge.net/
domingo, 15 de dezembro de 13
SlidingMenu
https://github.com/jfeinstein10/SlidingMenu
domingo, 15 de dezembro de 13
Android Asset Studio
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html
domingo, 15 de dezembro de 13
GSON
https://code.google.com/p/google-gson/
domingo, 15 de dezembro de 13
Esqueci alguma?
ORMLite
Android jQuery
Volley
Aquery
domingo, 15 de dezembro de 13
E para iOS?
Texto
domingo, 15 de dezembro de 13
Onde encontrar
http://www.github.com
domingo, 15 de dezembro de 13
Onde encontrar
https://www.cocoacontrols.com/
domingo, 15 de dezembro de 13
Onde encontrar
http://www.raywenderlich.com/
domingo, 15 de dezembro de 13
JBAsyncImageView
https://github.com/bunchjesse/JBAsyncImageView
domingo, 15 de dezembro de 13
GPUImage
https://github.com/BradLarson/GPUImage
domingo, 15 de dezembro de 13
SDURLCache
https://github.com/steipete/SDURLCache
domingo, 15 de dezembro de 13
MBProgressHUD
https://github.com/jdg/MBProgressHUD
domingo, 15 de dezembro de 13
JASidePanels
https://github.com/gotosleep/JASidePanels
domingo, 15 de dezembro de 13
JSONKit
https://github.com/johnezang/JSONKit
domingo, 15 de dezembro de 13
SJNotificationViewController
https://github.com/scottjacksonx/SJNotificationViewController
domingo, 15 de dezembro de 13
Esqueci alguma?
CorePlot
iRate
iVersion
domingo, 15 de dezembro de 13
CuidadoA compatibilidade não é para todas as versões;
Muitos bugs
Que tal um fork?
Algumas gambiarras que seu código vai ter que herdar
Funciona em tudo?
domingo, 15 de dezembro de 13
Desenvolvimento híbrido? domingo, 15 de dezembro de 13
HTML5 vai matar aplicações nativas
Monetização Distribuição
Personalização Sensoresdomingo, 15 de dezembro de 13
PENSE MÓVEL (PRIMEIRO)
domingo, 15 de dezembro de 13
FIMdomingo, 15 de dezembro de 13