palestra ddm
TRANSCRIPT
Desenvolvimento para disposi0vos
móveis.
Gustavo Graña, Lucas Fonseca, Rafael Leão
Gustavo Graña
• Bacharel em Ciência da Computação pela UFPel (2012).
• Desenvolvedor mobile na Conrad Caine desde 2010. • Até 2010 desenvolvedor backend na Voiza. • ggrana@conrad-‐caine.com
Desenvolvimento para dispositivos móveis
Lucas Fonseca
• Formado em Ciência da Computação em 2010/2 – UFPel
• Bolsista do grupo LUPS – Computação Pervasiva • Desenvolvedor Mobile na Conrad Caine desde 02/2011
• Mestrado em Ciência da Computação iniciado em 2012/1 – UFPel
• lfonseca@conrad-‐caine.com
Desenvolvimento para dispositivos móveis
Rafael Leão
• Bacharel em Ciência da Computação pela UFPel (2010).
• Mestrando em Ciência da Computação na UFPel . • Desenvolvedor mobile na Conrad Caine desde 2011. • rleao@conrad-‐caine.com
Desenvolvimento para dispositivos móveis
Conrad Caine
• “CONRAD CAINE is an interna0onal full service agency that offers concepts, design, mo0on and technology for internet, mobile, social media and e-‐learning. The agency was founded in 1998 and now employs over 100 people in three offices: Munich, Pelotas and Buenos Aires.”
• www.conrad-‐caine.com
Desenvolvimento para dispositivos móveis
INTRODUÇÃO
Então ...
Desenvolvimento para dispositivos móveis
Introdução • Ambientação
Desenvolvimento para dispositivos móveis
Introdução • Ambientação • Disposi0vos
Desenvolvimento para dispositivos móveis
Introdução • Ambientação • Disposi0vos • Interface
Desenvolvimento para dispositivos móveis
Introdução • Ambientação • Disposi0vos • Interface • Gestos
Desenvolvimento para dispositivos móveis
Introdução for (SO* atual in arraySOs) {
[atual historiaCurta]; [atual principaisPontos]; [atual comoComeçar];
} Desenvolvimento para dispositivos
móveis
Introdução • Mul0plataforma
Desenvolvimento para dispositivos móveis
Introdução • Mul0plataforma • Considerações finais
Desenvolvimento para dispositivos móveis
AMBIENTAÇÃO Introdução
Desenvolvimento para dispositivos móveis
Ambientação • Os três principais sistemas operacionais
Desenvolvimento para dispositivos móveis
Ambientação • Windows Phone
Desenvolvimento para dispositivos móveis
Ambientação • Windows Phone • Android
Desenvolvimento para dispositivos móveis
Ambientação • Windows Phone • Android • Symbian
Desenvolvimento para dispositivos móveis
Ambientação • Windows Phone • Android • Symbian
Desenvolvimento para dispositivos móveis
Ambientação • Windows Phone • Android • iOS
Desenvolvimento para dispositivos móveis
Ambientação • Windows Phone ?
Desenvolvimento para dispositivos móveis
ORIENTAÇÃO A OBJETOS
visão geral
Desenvolvimento para dispositivos móveis
Orientação a objetos • APRENDAM
Desenvolvimento para dispositivos móveis
MVC
visão geral
Desenvolvimento para dispositivos móveis
MVC • O que é?
Desenvolvimento para dispositivos móveis
MVC • Model
Desenvolvimento para dispositivos móveis
MVC • Model • View
Desenvolvimento para dispositivos móveis
MVC • Model • View • Controller
Desenvolvimento para dispositivos móveis
MVC • Rails • Zend • Django Desenvolvimento para dispositivos
móveis
MVC • APRENDAM
Desenvolvimento para dispositivos móveis
DISPOSITIVOS
visão geral
Desenvolvimento para dispositivos móveis
Disposi0vos • iOS
Desenvolvimento para dispositivos móveis
Disposi0vos • Android
Desenvolvimento para dispositivos móveis
Disposi0vos • Windows Phone
Desenvolvimento para dispositivos móveis
INTERFACE AO USUÁRIO
Desenvolvimento
Desenvolvimento para dispositivos móveis
Interface ao usuário • Cada plataforma tem sua concepção visual
Desenvolvimento para dispositivos móveis
Interface ao usuário • Cada plataforma tem sua concepção visual
• Componentes
Desenvolvimento para dispositivos móveis
Exemplo
Desenvolvimento para dispositivos móveis
Exemplo
Desenvolvimento para dispositivos móveis
Exemplo
Desenvolvimento para dispositivos móveis
GESTOS
Desenvolvimento
Desenvolvimento para dispositivos móveis
Gestos • Tap
Desenvolvimento para dispositivos móveis
Gestos • Long Press
Desenvolvimento para dispositivos móveis
Gestos • Pan
Desenvolvimento para dispositivos móveis
Gestos • Swipe
Desenvolvimento para dispositivos móveis
Gestos • Pinch
Desenvolvimento para dispositivos móveis
Gestos • Rotate
Desenvolvimento para dispositivos móveis
ORIENTAÇÃO
Desenvolvimento
Desenvolvimento para dispositivos móveis
Orientação • Portrait
– Retrato
Desenvolvimento para dispositivos móveis
Orientação • Landscape
– Paisagem
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Android • Caracterís0cas
Desenvolvimento para dispositivos móveis
Android • Caracterís0cas • Lançamento
Desenvolvimento para dispositivos móveis
Android • Caracterís0cas • Lançamento • Crescimento
Desenvolvimento para dispositivos móveis
Google Play • Cadastro ($25)
Desenvolvimento para dispositivos móveis
Google Play • Cadastro ($25) • 675.000 apps
Desenvolvimento para dispositivos móveis
Google Play • Cadastro ($25) • 675.000 apps • 25 bilhões de downloads
Desenvolvimento para dispositivos móveis
Google Play • Cadastro ($25) • 675.000 apps • 25 bilhões de downloads • Sem processo de revisão
Desenvolvimento para dispositivos móveis
DESAFIOS
Android
Desenvolvimento para dispositivos móveis
Desafios • A tela
Desenvolvimento para dispositivos móveis
Desafios • A tela
– Tamanho
Desenvolvimento para dispositivos móveis
Desafios • A tela
– Tamanho – Densidade
Desenvolvimento para dispositivos móveis
Desafios • A tela • Fragmentação
Desenvolvimento para dispositivos móveis
Fragmentação
Desenvolvimento para dispositivos móveis
Fragmentação • Causa
Desenvolvimento para dispositivos móveis
Fragmentação • Causa • Consequências
Desenvolvimento para dispositivos móveis
DESTAQUE
Android
Desenvolvimento para dispositivos móveis
Destaque • Emulador
Desenvolvimento para dispositivos móveis
Destaque • Emulador • Grande quan0dade de usuários
Desenvolvimento para dispositivos móveis
Destaque • Emulador • Grande quan0dade de usuários • Desenvolvimento em qualquer SO
Desenvolvimento para dispositivos móveis
COMEÇANDO
Android
Desenvolvimento para dispositivos móveis
Começando • Java
Desenvolvimento para dispositivos móveis
Começando • Java • Eclipse
Desenvolvimento para dispositivos móveis
Começando • Java • Eclipse • Mac, Linux ou Windows
Desenvolvimento para dispositivos móveis
Começando • h}p://developer.android.com/index.htm
Desenvolvimento para dispositivos móveis
Começando • h}p://developer.android.com/guide/index.html
• h}p://developer.android.com/guide/prac0ces/ui_guidelines/index.html
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Windows phone • Lançamento
Desenvolvimento para dispositivos móveis
Windows phone • Lançamento
– Windows phone 8
Desenvolvimento para dispositivos móveis
Windows phone • Lançamento • Caracterís0cas
Desenvolvimento para dispositivos móveis
Windows phone • Lançamento • Caracterís0cas • Integração
Desenvolvimento para dispositivos móveis
Botões �sicos
Desenvolvimento para dispositivos móveis
Market Place • Cadastro ($99)
Desenvolvimento para dispositivos móveis
Market Place • Cadastro ($99) • Possui processo de revisão
Desenvolvimento para dispositivos móveis
Market Place • Cadastro ($99) • Possui processo de revisão • Mais de 100.000 aplica0vos
Desenvolvimento para dispositivos móveis
DESTAQUE
Windows phone
Desenvolvimento para dispositivos móveis
Destaque • Tela
Desenvolvimento para dispositivos móveis
Destaque • Tela • Material
Desenvolvimento para dispositivos móveis
Destaque • Tela • Material • Frameworks
Desenvolvimento para dispositivos móveis
Frameworks
Desenvolvimento para dispositivos móveis
POTENCIAL
Windows phone
Desenvolvimento para dispositivos móveis
Potencial • Customização
Desenvolvimento para dispositivos móveis
Potencial • Customização • Alterna0va
Desenvolvimento para dispositivos móveis
Potencial • Customização • Alterna0va • Crescimento
Desenvolvimento para dispositivos móveis
COMEÇANDO
Windows phone
Desenvolvimento para dispositivos móveis
Começando • h}p://msdn.microso�.com/pt-‐br/default.aspx
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Começando • h}p://msdn.microso�.com/en-‐us/library/hh202915(v=vs.92).aspx
Desenvolvimento para dispositivos móveis
Começando • C#
Desenvolvimento para dispositivos móveis
Começando • C# • Visual studio for windows phone
Desenvolvimento para dispositivos móveis
Começando • C# • Visual studio for windows phone • Windows
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
iOS • Finalmente!
Desenvolvimento para dispositivos móveis
iOS • Lançamento
Desenvolvimento para dispositivos móveis
iOS • Lançamento
– 2007
Desenvolvimento para dispositivos móveis
iOS • Lançamento • Disposi0vos
Desenvolvimento para dispositivos móveis
iOS • Lançamento • Disposi0vos
– iPhone (normal, re0na e 5) – iPad (normal e re0na)
Desenvolvimento para dispositivos móveis
App Store • Cadastro ($99)
Desenvolvimento para dispositivos móveis
App Store • Cadastro ($99) • Sujeito a processo de aprovação
Desenvolvimento para dispositivos móveis
DESTAQUE
iOS
Desenvolvimento para dispositivos móveis
Destaque • Consolidado
Desenvolvimento para dispositivos móveis
Destaque • Consolidado
– Primeiro SO mobile de sucesso
Desenvolvimento para dispositivos móveis
Destaque • Consolidado • Frameworks
Desenvolvimento para dispositivos móveis
Frameworks • Na0vos
Desenvolvimento para dispositivos móveis
Frameworks • Na0vos
– Founda0on – Cocoa Touch
Desenvolvimento para dispositivos móveis
Frameworks • Na0vos • Terceiros
Desenvolvimento para dispositivos móveis
Frameworks • Na0vos • Terceiros
– Three20 (Facebook) – Twi}er Engine (Twi}erific)
Desenvolvimento para dispositivos móveis
Destaque • Documentação
Desenvolvimento para dispositivos móveis
Destaque • Documentação
– Site e XCode
Desenvolvimento para dispositivos móveis
Destaque • Documentação • Variedade de Disposi0vos
Desenvolvimento para dispositivos móveis
Destaque • Documentação • Variedade de Disposi0vos • ARC
Desenvolvimento para dispositivos móveis
Destaque • Documentação • Variedade de Disposi0vos • ARC (Amém)
– Diminui a complexidade de gerenciamento de memória
Desenvolvimento para dispositivos móveis
OBJECTIVE C
iOS
Desenvolvimento para dispositivos móveis
Objec0ve-‐C • C
Desenvolvimento para dispositivos móveis
Objec0ve-‐C • C • Algumas peculiaridades
Desenvolvimento para dispositivos móveis
Objec0ve-‐C
Desenvolvimento para dispositivos móveis
Objec0ve-‐C
Desenvolvimento para dispositivos móveis
Objec0ve-‐C
Desenvolvimento para dispositivos móveis
Objec0ve-‐C Java public void insertObjectAtIndex(Object o, int index)
Objec:ve c -‐ (void)insertObject: (id)object atIndex: (int)index
Desenvolvimento para dispositivos móveis
Objec0ve-‐C • C • Algumas peculiaridades • Protocols
Desenvolvimento para dispositivos móveis
COMEÇANDO
iOS
Desenvolvimento para dispositivos móveis
Começando • h}ps://developer.apple.com/devcenter/ios/index.ac0on
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
Começando • h}ps://developer.apple.com/appstore/guidelines.html
• h}p://developer.apple.com/library/ios/#documenta0on/UserExperience/Conceptual/MobileHIG/Introduc0on/Introduc0on.html
Desenvolvimento para dispositivos móveis
Começando • Objec0ve-‐C
Desenvolvimento para dispositivos móveis
Começando • Objec0ve-‐C • XCode
Desenvolvimento para dispositivos móveis
Começando • Objec0ve-‐C • XCode • Mac Intel, OS X+
Desenvolvimento para dispositivos móveis
Começando • Cadastro
Desenvolvimento para dispositivos móveis
Começando • Cadastro • SDK
Desenvolvimento para dispositivos móveis
Começando • Cadastro • SDK • Ferramentas
Desenvolvimento para dispositivos móveis
Ferramentas • XCode
Desenvolvimento para dispositivos móveis
Ferramentas • XCode
– Interface builder
Desenvolvimento para dispositivos móveis
Ferramentas • XCode
– Interface builder • Ferramentas de profile
Desenvolvimento para dispositivos móveis
Desenvolvimento para dispositivos móveis
MULTIPLATAFORMA
Desenvolvimento
Desenvolvimento para dispositivos móveis
Mul0plataforma • Várias opções
Desenvolvimento para dispositivos móveis
Mul0plataforma • Várias opções • Variadas linguagens
Desenvolvimento para dispositivos
móveis
Mul0plataforma • Várias opções • Variadas linguagens • Resultado
Desenvolvimento para dispositivos móveis
MERCADO
Considerações finais
Desenvolvimento para dispositivos móveis
Venda de disposi0vos
Desenvolvimento para dispositivos móveis
Venda de disposi0vos
Desenvolvimento para dispositivos móveis
Lojas de Aplica0vos
Fonte: Gartner (09/12) Em milhões
Desenvolvimento para dispositivos móveis
2011 2012 2013 2014 2015 2016
App Gratuítos
20044 40599 73280 119842 188946 287933
Apps Pagos
2893 5018 8142 11853 16430 21672
Total 24936 45617 81422 131695 205376 309606
OPORTUNIDADES
Considerações finais
Desenvolvimento para dispositivos móveis
LINGUAGEM
Adendo, a melhor
Desenvolvimento para dispositivos móveis
PONTO
Não existe
Desenvolvimento para dispositivos móveis
Perguntas ? ggrana@conrad-‐caine.com lfonseca@conrad-‐caine.com rleao@conrad-‐caine.com
Desenvolvimento para dispositivos
móveis