SlideShare a Scribd company logo
1 of 106
Download to read offline
Desenvolvimento
mobile
EltonMinetto
Graduado/pós-graduadoemCiênciadaComputação
Desenvolvedordesde1997
Professordesde2004
AutordetrêslivrossobrePHPeumsobregridcomputing
Co-fundadordaCoderockredoCodeSquad
MembrodadiretoriadaABRAPHP
Contato
http://eltonminetto.net
@eminetto
http://coderockr.com
http://code-squad.com
eminetto@coderockr.com
Tiposde
dispositivos
Telefones
• 3Gs,4,4Se5
• 3.5polegadas.4polegadas
(iPhone5)
• 320x480(3Gs),640x960(4,4s)
e1136x640(5)
• AssistedGPS,bluetooth,camera,
acelerômetro
iPhone
• Inúmerosmodelos,deinúmeros
frabricantes
• Diversasresoluções:240×400,
240×432,320×480,480×800,
480×854,600×1024,640×960
• Diversostamanhos:3, 5,7pol
• GPS,bluetooth,camera,
acelerômetro
CelularesAndroid
• NokiaeHTC(aindanãonoBrasil)
• Diversasresoluções:480×800,
768x1280,720x1280,
• Diversostamanhos: 4.3pol,4.5
• GPS,bluetooth,camera,
acelerômetro
CelularesWindowsPhone
Mediaplayers
• 3.5e4polegadas
• 640x960(4,4s)e1136x640(5)
• AssistedGPS,bluetooth,camera,
acelerômetro,WiFi
iPodTouch
Tablets
• 7.8e9.7polegadas
• 1024x768(mini,1Ge2G)e
2048x1536(3Ge4G)
• AssistedGPS,bluetooth,camera,
acelerômetro,WiFi/3G
iPad
• Inúmerosmodelos,deinúmeros
frabricantes
• Diversasresoluções:1024x600,
1280x800,
1280x720,1920x1200
• Diversostamanhos:7pol,10.1,
12.1,11.8,7.7,4.8
• Bluetooth,camera,Wifi/3G
TabletsAndroid
• Surface
• 1366x768e1920x1080
• 10.6polegadas
• Bluetooth,camera,Wifi,
acelerômetro
TabletsWindows
Plataformas
Apple
• AmbientecontroladopelaApple
• Únicaloja: iTunesAppStore
• Regrasrígidasparaaprovaçãodeaplicativos
Características
• Poucosdispositivosparasuportar
• Ótimasferramentasdedesenvolvimento
• Sempirataria
• Lucrativa
• Amaioriadosdispositivosatualizados
Vantagens
Vantagens
• Barreiradalinguagemdeprogramação(ObjectiveC)
• PrecisadeumcomputadorcomMacOSX
• Burocracia
• Somenteodonodamarcapodepublicaraplicativos
• Processodecriaçãodacontaporfax,eminglês
• Aprovaçãopodedemorar
Desvantagens
• EmJunho/2012.Fonte:Apple
• 400milhõesdecontas(comcartãodecrédito)
• 650milapps,sendo225milparaoiPad
• Pagou5bilhõesparadesenvolvedores
• 160países
• EmNovembro/2012.Fonte:148apps.biz
• 727,938apps
Números
• iOSDevCenter
• AppleDeveloperForums
• Documentação
• Ferramentas
• ProvisioningPortal
• iTunesConnect
Ferramentasdedesenvolvimento
iOSDevCenter
AppleDeveloperForums
Documentação
Ferramentasdedesenvolvimento
Mac OS X
Xcode
Instruments
iOS Simulator
Xcode
iOSSimulator
iOSSimulator
Instruments(profiling)
• Objective-C
• BaseadaemC
• OrientadaaObjetos(inspiradaemSmallTalk)
• MacOSXeiOS
• PodeserusadaemcombinaçãocomCeC++
Ferramentasdedesenvolvimento
• FrameworkFoundation
• BasedoiOSeMacOSX
• UIKit
• Responsávelpelainterfacegráfica
• Controles,eventos,elementos
Ferramentasdedesenvolvimento
Android
• Ambientelivre
• Diversaslojas:GooglePlay,Amazon,Samsung,Positivo
• Diversasopçõesdefabricantes
• Baseadoemsoftwarelivre
Características
• Poucabarreiradeentradaparadesenvolvedores(JavaequalquerSO)
• Preçobaixodosdispositivos,devidoagrandeopçãodefabricantes
• Processodepublicaçãodeappsrápidoesemburocracia
• Poucaburocraciaparacadastrar-secomodesenvolvedor
Vantagens
• Muitosdispositivosparasuportar
• Poucasregrasdeaprovaçãopermitemainclusãodemuitosappsdebaixa
qualidade(visual,performance,segurança)
• Grandepirataria
• Dispositivosnãoatualizados
Desvantagens
Desvantagens-Fragmentação
• EmSetembro/2012.Fonte:Google
• 675milapps
• 1.3milhãodeativaçõespordia
Números
• Documentação
• Forums
• SDK
• Eclipse+ADTTools
• Simulador
Ferramentasdedesenvolvimento
AndroidDevelopersSite
AndroidDeveloperConsole
Documentação
Eclipse
Emulador
LayoutEditor
• Java
• Diversasbibliotecaslivres
• MuitocódigodisponívelemlivroseGithub/Bitbucket
Ferramentasdedesenvolvimento
Ferramentasdedesenvolvimento
Blackberry
• Popularizouos“smartphones”
• Permiteescreveraplicativosemdiversaslinguagens(Blackberry10)
Características
• Poucabarreiradeentradaparadesenvolvedores(diversaslinguagensequalquer
SO)
• Novaversão(Blackberry10)sendolançadaagora
• Aparelhosatualizados(90%deatualizaçõesdotabletPlaybooknoprimeiromês
delançamentodonovoSO)
• Registrodedesenvolvedorgrátis
• Maislucrativaparaosdesenvolvedores(sóperdeparaaApple)
Vantagens
• Participaçãodemercadoemdeclínio
• Incertezadofuturo
Desvantagens
• EmNovembro/2012.Fonte:RIM
• 75milhõesdeaparelhos
• EmFevereiro/2012.Fonte:RIM
• 60milappps
Números
• Documentação
• Forums
• SDK
• Simulador
Ferramentasdedesenvolvimento
Ferramentasdedesenvolvimento
WindowsPhone
• Novaplataforma
• Interfaceinovadora(Metro)
Características
• Poucabarreiradeentradaparadesenvolvedores(ferramentaseambiente
Windows)
• MáquinadepublicidadedaMicrosoft
• Novomercadonecessitandoapps
• Grandepotencialnomercadoempresarial
• IntegraçãocomaplataformaMicrosoft(Office,XboxLive,Live,Azure,Bing)
Vantagens
• Poucosdispositivos
• Poucosdesenvolvedores
• Poucadocumentação
Desvantagens
• Documentação
• Forums
• SDK
• Simulador
• VisualStudio
• C,C++,C#
Ferramentasdedesenvolvimento
Ferramentasdedesenvolvimento
Ferramentasdedesenvolvimento
FirefoxOS
• BaseadoemLinuxeFirefox(opensource)
• Focoinicialemdispositivoslowend(mascompotencialparaohighend)
• AparelhosiniciaisdevemcustardeR$200aR$300
• AplicativosemHTML5,JSeCSS3
• Emfasefinaldedesenvolvimento(lançamentoprevistoparaprimeirosemestre
2013)
Características
• Poucabarreiradeentradaparadesenvolvedores(HTML5,CSS3eJSsão
largamenteusadosnaWeb)
• AportedaMozilla,VivoeTelefonica
• LançamentomundialvaisernoBrasil
• Grandemercadoparanovasaplicações(nalojaaserlançada,aMarketplace)
Vantagens
• Poucosdispositivos(nenhumoficialmentehomologado).InicialmenteAlcatele
ZTE
• Poucosdesenvolvedores
• Poucadocumentação
Desvantagens
• Documentação
• Forums
• SDK
• Simulador
• Javascript,HTML5eCSS3
Ferramentasdedesenvolvimento
Ferramentasdedesenvolvimento
Simulador
Análiseeprojeto
Interface
• UXédeterminanteemmobile
• Fidelização
• MelhorRankingparaoapp
• Maisdownloadsecompras
• Maisrenda
Éimportante?
AllBudget
U$0.99-Ranking:10
MoneyCare
U$2.99-Ranking:6
• PortarUIdeoutrasplataformas
• Utilizaralertasemexcesso
• Utilizarfontespequenasdemais
• Controlespequenos
• Fugirdoconceitoinicialdaplataforma
• Criarcomandoscomgestosdifíceis
Oquenuncafazer
• UIdeacordocomaplataforma
• Controlesdetamanhorazoável
• Tratardiferentesresoluções
• Foconoqueéimportante
• Fontesfáceisdeler
• Foconousuário
Oquefazer
iPhone/iPodTouch
Navegação/Opções
Abas
Conteúdo
iPhone/iPodTouch
Opçõesdoitem
Conteúdo
Voltar
AbaSelecionada
iPhone/iPodTouch
Navegação
Alternativa
Conteúdo
Voltar
Indicaçãode
Atalhoparaação
iPad
Abas
BarradeNavegação
Conteúdo
iPad
Menu
Outras
Opções
Conteúdo
SmartphoneAndroid
Menu Voltar
Home Buscar
SmartphoneAndroid
Navegação
Abas
Abasde
Conteúdo
Conteúdo
TabletAndroid
Voltar
Home Aplicativos
abertos
Menu
Abas
Opções
Conteúdo
WindowsPhone
Tiles
Voltar
Buscar
Home
WindowsPhone
Conteúdo
Continuapara
olado
• iOSHumanInterfaceGuidelines:http://bit.ly/Uxn7vF
• AndroidUserInterfaceGuidelines:http://bit.ly/ULp3qo
• BlackberryUIGuidelines:http://bit.ly/S4IlTf
• UserExperienceDesignGuidelinesforWindowsPhone:http://bit.ly/ULPTsL
• FirefoxOSGaia:http://mzl.la/Wi5xls
InterfaceGuidelines
Bancodedados
• Opensource
• Funcionaemtodasasplataformasmobile
• Robusto
• Triggers,chavesestrangeiras
• Rápido
SQLite
• MySQLWorkbench:http://www.mysql.com/products/workbench/
• Free.Ótimoparafazeramodelagem. Múltiplasplataformas.
• PluginparagerarSQLite:http://www.henlich.de/software/sqlite-export-
plugin-for-mysql-workbench/
• Navicat:http://www.navicat.com/en/products/navicat_sqlite/
sqlite_overview.html
• Pago.Múltiplasplataformas.Trial30dias
SQLite-Ferramentas
Backend
• Múltiplasinterfaces
• Regradenegóciocentralizada
• Acessoasistemaslegados
• AcessoaAPIsexternas
• Enviodenotificações(iOSNotifications,AndroidNotifications)
Motivosparausar
• RESTparaacessoaentidades
• RPCparaacessoaserviços
• JSONouXMLparaformato(preferencialmenteJSON)
• Segurança
• HTTPS
• OAuth
Comocriar
• FrameworksPHP
• Silex,Slim,ZendFramework2,Symfony
• FrameworksRuby
• Rails,Sinatra
• FrameworksPython
• Django,Flask,Pylons
Ferramentas
• http://www.parse.com
• Criaçãodetabelas,acessoviaAPI,pushnotifications,filestorage
• SDKparaiOS,Android,Windows8,WindowsPhone,JavaScript
• https://www.parse.com/plans
• CompradopeloFacebookemAbril/2013
Ferramentas
• http://www.stackmob.com
• Criaçãodetabelas,acessoviaAPI
• Módulosdeterceiros(Twitter,Facebook,S3)
• SDKparaiOS,AndroideHTML5/JS
• https://www.stackmob.com/pricing/
Ferramentas
Monetização
• VenderoaplicativonasAppsStores
• Aplicativogratuítocomassinaturaspremium
• Aplicativogratuítocom“in-apppurchases”
• Aplicativogratuítocompropagandas
• “AdverGames”
• Cross-apppromotion(nãorecomendadopelaApple)
• Desenvolvimentoterceirizado
Formasdemonetização
VendanasAppStores
Appfree,assinaturapremium
Appfree,in-apppurchases
Appfree,propagandas
Advergames
Versão free para Android
patrocinado pelo Google
• Dependedaplataforma
• UsuáriosiOSnãoseimportamempagarporaplicativos
• UsuáriosAndroidpreferemaplicativosgratuítoscompropagandas
• Usarmaisdeumaformaeanalisarosresultados
Qualamelhorforma?
• AdMob
• Google.BaseadonoAdwordseAnalytics.FuncionaparaiOSeAndroid
• AppleiAd
• SomenteiOS.NãodisponívelnoBrasil
Plataformadepropagandas
Referências
https://gist.github.com/596cc9fbc6593013590c

More Related Content

More from 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 outroElton Minetto
 
Object Calisthenics em Go
Object Calisthenics em GoObject Calisthenics em Go
Object Calisthenics em GoElton 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 ProjectsElton Minetto
 
Clean architecture em Go - v2
Clean architecture em Go - v2Clean architecture em Go - v2
Clean architecture em Go - v2Elton Minetto
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver softwareElton Minetto
 
Clean Architecture em PHP
Clean Architecture em PHPClean Architecture em PHP
Clean Architecture em PHPElton Minetto
 
Clean Architecture in Golang
Clean Architecture in GolangClean Architecture in Golang
Clean Architecture in GolangElton Minetto
 
A jornada do desenvolvedor
A jornada do desenvolvedorA jornada do desenvolvedor
A jornada do desenvolvedorElton Minetto
 
Product and Technology
Product and TechnologyProduct and Technology
Product and TechnologyElton Minetto
 
Code:Nation Tech Stack
Code:Nation Tech StackCode:Nation Tech Stack
Code:Nation Tech StackElton Minetto
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIsElton Minetto
 
12 factor in the PHP world
12 factor in the PHP world12 factor in the PHP world
12 factor in the PHP worldElton Minetto
 
Building APIs using Go
Building APIs using GoBuilding APIs using Go
Building APIs using GoElton 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 AWSElton Minetto
 

More from 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
 

Desenvolvimento mobile