boas práticas de desenvolvimento móvel

53
Marcelo Quinta Boas práticas para desenvolvimento Mobile domingo, 15 de dezembro de 13

Upload: marcelo-quinta

Post on 01-Nov-2014

2.027 views

Category:

Technology


0 download

DESCRIPTION

Apresentação sobre boas práticas e lições aprendidas no desenvolvimento de aplicativos para Android, iOS e Windows Phone, minhas opiniões sobre apps híbridas, etc. Também coloquei alguns slides de ferramentas que ajudam na vida de programador para #mobile.

TRANSCRIPT

Page 1: Boas práticas de desenvolvimento Móvel

Marcelo Quinta

Boas práticas para desenvolvimento

Mobile

domingo, 15 de dezembro de 13

Page 2: Boas práticas de desenvolvimento Móvel

Diversão

7 anos com Mobile

Guia

M-commerceAnimação digital

FotografiaPDVSertanejoPublicidade

EventosMedicina

domingo, 15 de dezembro de 13

Page 3: Boas práticas de desenvolvimento Móvel

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

Page 4: Boas práticas de desenvolvimento Móvel

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

Page 5: Boas práticas de desenvolvimento Móvel

domingo, 15 de dezembro de 13

Page 6: Boas práticas de desenvolvimento Móvel

domingo, 15 de dezembro de 13

Page 7: Boas práticas de desenvolvimento Móvel

domingo, 15 de dezembro de 13

Page 8: Boas práticas de desenvolvimento Móvel

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

Page 9: Boas práticas de desenvolvimento Móvel

Tempo de resposta

domingo, 15 de dezembro de 13

Page 10: Boas práticas de desenvolvimento Móvel

Diferentes plataformas

Diferentes designsdomingo, 15 de dezembro de 13

Page 11: Boas práticas de desenvolvimento Móvel

domingo, 15 de dezembro de 13

Page 12: Boas práticas de desenvolvimento Móvel

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

Page 13: Boas práticas de desenvolvimento Móvel

Mesma plataforma

Diferentes designsdomingo, 15 de dezembro de 13

Page 14: Boas práticas de desenvolvimento Móvel

Os componentes de interface são diferentes

domingo, 15 de dezembro de 13

Page 15: Boas práticas de desenvolvimento Móvel

Emulador?

domingo, 15 de dezembro de 13

Page 16: Boas práticas de desenvolvimento Móvel

3G é TIMÉ o pior cenário possível

domingo, 15 de dezembro de 13

Page 17: Boas práticas de desenvolvimento Móvel

Threads e assincronia

domingo, 15 de dezembro de 13

Page 18: Boas práticas de desenvolvimento Móvel

Ciclo de vida

domingo, 15 de dezembro de 13

Page 19: Boas práticas de desenvolvimento Móvel

Velocidade

AtualizaçãoInício difícil

Design

Moço,bora tomar uma

cerveja!

Reuso

domingo, 15 de dezembro de 13

Page 20: Boas práticas de desenvolvimento Móvel

Antigamente tinha...

http://www.theultimateandroidlibrary.com/

domingo, 15 de dezembro de 13

Page 21: Boas práticas de desenvolvimento Móvel

Onde encontrar

http://www.openintents.org/en/libraries

domingo, 15 de dezembro de 13

Page 22: Boas práticas de desenvolvimento Móvel

Onde encontrar

http://www.androidviews.net

domingo, 15 de dezembro de 13

Page 23: Boas práticas de desenvolvimento Móvel

Bibliotecas do Google

domingo, 15 de dezembro de 13

Page 24: Boas práticas de desenvolvimento Móvel

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

Page 25: Boas práticas de desenvolvimento Móvel

ACTIONBAR PARA VERSÕES ANTIGAS

Ou procure o projeto AppCompat

domingo, 15 de dezembro de 13

Page 26: Boas práticas de desenvolvimento Móvel

Collapsible Search Menu

https://github.com/johnkil/Android-CollapsibleSearchMenu

domingo, 15 de dezembro de 13

Page 27: Boas práticas de desenvolvimento Móvel

Android Form Validator

https://github.com/throrin19/Android-Validator

domingo, 15 de dezembro de 13

Page 28: Boas práticas de desenvolvimento Móvel

PullToRefresh

https://github.com/throrin19/Android-Validator

domingo, 15 de dezembro de 13

Page 29: Boas práticas de desenvolvimento Móvel

ViewPager

http://viewpagerindicator.com/

domingo, 15 de dezembro de 13

Page 30: Boas práticas de desenvolvimento Móvel

Android Annotations

http://androidannotations.org/

domingo, 15 de dezembro de 13

Page 31: Boas práticas de desenvolvimento Móvel

Joda Time

http://joda-time.sourceforge.net/

domingo, 15 de dezembro de 13

Page 32: Boas práticas de desenvolvimento Móvel

SlidingMenu

https://github.com/jfeinstein10/SlidingMenu

domingo, 15 de dezembro de 13

Page 33: Boas práticas de desenvolvimento Móvel

Android Asset Studio

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

domingo, 15 de dezembro de 13

Page 34: Boas práticas de desenvolvimento Móvel

GSON

https://code.google.com/p/google-gson/

domingo, 15 de dezembro de 13

Page 35: Boas práticas de desenvolvimento Móvel

Esqueci alguma?

ORMLite

Android jQuery

Volley

Aquery

domingo, 15 de dezembro de 13

Page 36: Boas práticas de desenvolvimento Móvel

E para iOS?

Texto

domingo, 15 de dezembro de 13

Page 37: Boas práticas de desenvolvimento Móvel

Onde encontrar

http://www.github.com

domingo, 15 de dezembro de 13

Page 38: Boas práticas de desenvolvimento Móvel

Onde encontrar

https://www.cocoacontrols.com/

domingo, 15 de dezembro de 13

Page 39: Boas práticas de desenvolvimento Móvel

Onde encontrar

http://www.raywenderlich.com/

domingo, 15 de dezembro de 13

Page 40: Boas práticas de desenvolvimento Móvel

JBAsyncImageView

https://github.com/bunchjesse/JBAsyncImageView

domingo, 15 de dezembro de 13

Page 41: Boas práticas de desenvolvimento Móvel

GPUImage

https://github.com/BradLarson/GPUImage

domingo, 15 de dezembro de 13

Page 42: Boas práticas de desenvolvimento Móvel

SDURLCache

https://github.com/steipete/SDURLCache

domingo, 15 de dezembro de 13

Page 43: Boas práticas de desenvolvimento Móvel

MBProgressHUD

https://github.com/jdg/MBProgressHUD

domingo, 15 de dezembro de 13

Page 44: Boas práticas de desenvolvimento Móvel

JASidePanels

https://github.com/gotosleep/JASidePanels

domingo, 15 de dezembro de 13

Page 45: Boas práticas de desenvolvimento Móvel

RestKit

http://restkit.org/

domingo, 15 de dezembro de 13

Page 46: Boas práticas de desenvolvimento Móvel

JSONKit

https://github.com/johnezang/JSONKit

domingo, 15 de dezembro de 13

Page 47: Boas práticas de desenvolvimento Móvel

SJNotificationViewController

https://github.com/scottjacksonx/SJNotificationViewController

domingo, 15 de dezembro de 13

Page 48: Boas práticas de desenvolvimento Móvel

Esqueci alguma?

CorePlot

iRate

iVersion

domingo, 15 de dezembro de 13

Page 49: Boas práticas de desenvolvimento Móvel

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

Page 50: Boas práticas de desenvolvimento Móvel

Desenvolvimento híbrido? domingo, 15 de dezembro de 13

Page 51: Boas práticas de desenvolvimento Móvel

HTML5 vai matar aplicações nativas

Monetização Distribuição

Personalização Sensoresdomingo, 15 de dezembro de 13

Page 52: Boas práticas de desenvolvimento Móvel

PENSE MÓVEL (PRIMEIRO)

domingo, 15 de dezembro de 13

Page 53: Boas práticas de desenvolvimento Móvel

FIMdomingo, 15 de dezembro de 13