SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Desenvolvimento 
Mobile
Quem?
Elton Minetto 
CEO da Coderockr 
@eminetto
O que?
Introdução ao mundo 
do desenvolvimento 
mobile
Tipos de dispositivos
Telefones
iPhone 
• 4, 4s, 5, 5c, 5s, 6, 6+ 
• 3.5, 4, 4.7 e 5.5 
polegadas 
• 640x960 (4, 4s), 
1136x640 (5,5s), 
1334x750 (6), 
1920x1080 (6+) 
• Assisted GPS, 
bluetooth, camera, 
acelerômetro, 
movimentos,digital 
(5s)
Android 
• Diversos modelos, de 
diversos fabricantes 
• Diversas resoluções: 
240×400, 240×432, 
320×480, 480×800, 
480×854, 600×1024, 
640×960 
• Diversos tamanhos: 3, 
5, 7 pol 
• GPS, bluetooth, 
camera, acelerômetro
Windows Phone 
• Principalmente Nokia 
• Diversas resoluções: 
480×800, 768x1280, 
720x1280, 
• Diversos tamanhos: 
4.3 pol, 4.5 
• GPS, bluetooth, 
camera, acelerômetro
FirefoxOS 
• Diversos modelos, de 
diversos fabricantes 
• Diversas resoluções: 
320x480, 540x960, 
480x800 
• Diversos tamanhos: 
3.5 pol, 4 pol, 4.7 pol 
• GPS, bluetooth, 
camera, acelerômetro
Media players
iPod Touch 
• 3.5 e 4 polegadas 
• 640x960 (4, 4s) e 
1136x640 (5) 
• Assisted GPS, 
bluetooth, camera, 
acelerômetro, WiFi
Tablets
iPad 
• 7.9 e 9.7 polegadas 
• 1024x768 e 
2048x1536 (retina 
display) 
• Assisted GPS, 
bluetooth, camera, 
acelerômetro, WiFi/3G
Android 
• Inúmeros modelos, de 
inúmeros frabricantes 
• Diversas resoluções: 
1024x600, 1280x800, 
1280x720,1920x1200 
• Diversos tamanhos: 7 
pol,10.1, 12.1, 11.8, 7.7, 
4.8 
• Bluetooth, camera, 
Wifi/3G
Windows Phone 
• Surface 
• 1366x768 e 
1920x1080 
• 10.6 polegadas 
• Bluetooth, camera, 
Wifi, acelerômetro
Wearables
Plataformas nativas
Apple
Características 
• Ambiente controlado pela Apple 
• Única loja: iTunes App Store 
• Regras rígidas para aprovação de aplicativos
Vantagens 
• Poucos dispositivos para suportar 
• Ótimas ferramentas de desenvolvimento 
• Sem pirataria 
• Lucrativa 
• A maioria dos dispositivos atualizados
Vantagens
Desvantagens 
• Barreira da linguagem de programação (Objective 
C) * 
• Precisa de um computador com Mac OSX 
• Burocracia 
• Somente o dono da marca pode publicar 
aplicativos 
• Processo de criação da conta em inglês 
(aprovação via telefone) 
• Aprovação pode demorar 
! 
* Nova linguagem em desenvolvimento a Swift
Números 
• Em Junho/2012. Fonte: Apple 
• 400 milhões de contas (com cartão de crédito) 
• 650 mil apps, sendo 225 mil para o iPad 
• Pagou 5 bilhões para desenvolvedores 
• 160 países 
! 
• Em Julho/2014. Fonte: Apple 
• 1.2 milhões de apps, sendo 475.000 para o iPad 
• Pagou 10 bilhões para desenvolvedores 
• 75 bilhões de downloads
Ferramentas 
• iOS Dev Center 
• Apple Developer Forums 
• Documentação 
• iTunes Connect 
• Xcode (editor, debug, deploy, profilling, testes)
Android
Características 
• Ambiente livre 
• Diversas lojas: Google Play, Amazon, Samsung, 
Positivo 
• Diversas opções de fabricantes 
• Baseado em software livre
Vantagens 
• Pouca barreira de entrada para desenvolvedores 
(Java e qualquer SO) 
• Preço baixo dos dispositivos, devido a grande 
opção de fabricantes 
• Processo de publicação de apps rápido e sem 
burocracia 
• Pouca burocracia para cadastrar-se como 
desenvolvedor
Vantagens 
Fonte: TechRepublic, 2014
Desvantagens 
• Muitos dispositivos para suportar 
• Poucas regras de aprovação permitem a inclusão 
de muitos apps de baixa qualidade (visual, 
performance, segurança) 
• Grande pirataria 
• Dispositivos não atualizados
Fragmentação 
• 18.796 dispositivos diferentes 
• Fonte: TechRepublic, 2014.
Números 
• Em Setembro/2012. Fonte: Google 
• 675 mil apps 
• 1.3 milhão de ativações por dia 
! 
• Em Setembro/2014. Fonte: AppBrain 
• 1.362.720 apps
Ferramentas 
• Documentação 
• Forums 
• SDK/NDK 
• Eclipse + ADT Tools. Android Studio 
• Simuladores 
• Java 
• Diversas bibliotecas livres 
• Muito código disponível no Github
Análise e projeto
Nativo 
x 
Webapp 
X 
Híbrido 
X 
Cross platform
Interface
É importante? 
• UX é determinante em mobile 
• Fidelização 
• Melhor Ranking para o app 
• Mais downloads e compras 
• Mais renda
Money Care 
U$ 2.99- Ranking: 5 
(Setembro/2014) 
iContas 
U$ 0.99- Ranking: 6 
(Setembro/2014)
O que nunca fazer 
• Portar UI de outras plataformas 
• Utilizar alertas em excesso 
• Utilizar fontes pequenas demais 
• Controles pequenos 
• Fugir do conceito inicial da plataforma 
• Criar comandos com gestos difíceis
O que fazer 
• UI de acordo com a plataforma 
• Controles de tamanho razoável 
• Tratar diferentes resoluções 
• Foco no que é importante 
• Fontes fáceis de ler 
• Foco no usuário 
• Seguir os design guidelines das plataformas
Banco de dados
SQLite 
• Open source 
• Funciona em todas as plataformas mobile 
• Robusto 
• Triggers, chaves estrangeiras 
• Rápido
Backend
Motivos para usar 
• Múltiplas interfaces 
• Regra de negócio centralizada 
• Acesso a sistemas legados 
• Acesso a APIs externas 
• Envio de notificações (iOS Notifications, Android 
Notifications)
Como criar 
• REST para acesso a entidades 
• RPC para acesso a serviços 
• JSON ou XML para formato (preferencialmente 
JSON) 
• Segurança 
• HTTPS 
• OAuth
Ferramentas 
• Frameworks PHP 
• Silex, Slim, Zend Framework 2, Symfony 
• Frameworks Ruby 
• Rails, Sinatra 
• Frameworks Python 
• Django, Flask, Pylons 
• http://parse.com 
• http://stackmob.com
Monetização
Formas de monetização 
• Vender o aplicativo nas Apps Stores 
• Aplicativo gratuíto com assinaturas premium 
• Aplicativo gratuíto com “in-app purchases” 
• Aplicativo gratuíto com propagandas 
• “AdverGames” 
• Cross-app promotion (não recomendado pela 
Apple) 
• Desenvolvimento terceirizado
Vendas nas App Stores
App free, assinatura 
premium
App free, in-app purchases
App free, propagandas
Advergames 
Versão free para Android 
patrocinado pelo Google
Qual a melhor forma? 
• Depende da plataforma 
• Usuários iOS não se importam em pagar por 
aplicativos 
• Usuários Android preferem aplicativos 
gratuítos com propagandas 
• Usar mais de uma forma e analisar os resultados
http://eltonminetto.net 
@eminetto 
eminetto@coderockr.com 
! 
! 
Preciso do seu feedback! 
plp.pw/TEgf

Contenu connexe

Tendances

Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelJanynne Gomes
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Ricardo Longa
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)Elmano Cavalcanti
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 
Mobile - Uma introdução sobre sistemas para dispositivos móveis.
Mobile - Uma introdução sobre sistemas para dispositivos móveis.Mobile - Uma introdução sobre sistemas para dispositivos móveis.
Mobile - Uma introdução sobre sistemas para dispositivos móveis.Júlia Fernandes Alves
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Aula: Evolução da computação móvel
Aula: Evolução da computação móvelAula: Evolução da computação móvel
Aula: Evolução da computação móvelJanynne Gomes
 

Tendances (20)

Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Android
Android Android
Android
 
Android
Android Android
Android
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)
 
Front End x Back End
Front End x Back EndFront End x Back End
Front End x Back End
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
 
Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)Teste de software - aula 01 (motivação)
Teste de software - aula 01 (motivação)
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
Mobile - Uma introdução sobre sistemas para dispositivos móveis.
Mobile - Uma introdução sobre sistemas para dispositivos móveis.Mobile - Uma introdução sobre sistemas para dispositivos móveis.
Mobile - Uma introdução sobre sistemas para dispositivos móveis.
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Aula: Evolução da computação móvel
Aula: Evolução da computação móvelAula: Evolução da computação móvel
Aula: Evolução da computação móvel
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 

En vedette

Desenvolvimento Mobile - Rio Info 2012
Desenvolvimento Mobile - Rio Info 2012Desenvolvimento Mobile - Rio Info 2012
Desenvolvimento Mobile - Rio Info 2012Diego Dukão
 
Tecnologias de redes sem fio.
Tecnologias de redes sem fio.Tecnologias de redes sem fio.
Tecnologias de redes sem fio.Alefe Variani
 
Os Caminhos do Design Mobile - Campus Party 2013
Os Caminhos do Design Mobile - Campus Party 2013Os Caminhos do Design Mobile - Campus Party 2013
Os Caminhos do Design Mobile - Campus Party 2013Horácio Soares
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveisigorpimentel
 
Mobile UX - MobileConf 2014 - RJ
Mobile UX - MobileConf 2014 - RJMobile UX - MobileConf 2014 - RJ
Mobile UX - MobileConf 2014 - RJHorácio Soares
 
Arquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveisArquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveisAlexsander Fontes
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Italo Andrade
 
Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)Ricardo Longa
 
Dispositivos Móveis - Mobile
Dispositivos Móveis - MobileDispositivos Móveis - Mobile
Dispositivos Móveis - Mobileruirodas
 

En vedette (11)

Desenvolvimento Mobile - Rio Info 2012
Desenvolvimento Mobile - Rio Info 2012Desenvolvimento Mobile - Rio Info 2012
Desenvolvimento Mobile - Rio Info 2012
 
Certificações
CertificaçõesCertificações
Certificações
 
Tecnologias de redes sem fio.
Tecnologias de redes sem fio.Tecnologias de redes sem fio.
Tecnologias de redes sem fio.
 
Os Caminhos do Design Mobile - Campus Party 2013
Os Caminhos do Design Mobile - Campus Party 2013Os Caminhos do Design Mobile - Campus Party 2013
Os Caminhos do Design Mobile - Campus Party 2013
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveis
 
Mobile UX - MobileConf 2014 - RJ
Mobile UX - MobileConf 2014 - RJMobile UX - MobileConf 2014 - RJ
Mobile UX - MobileConf 2014 - RJ
 
Arquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveisArquitetura dos dispositivos móveis
Arquitetura dos dispositivos móveis
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
 
Trabalho: Rede sem fio.
Trabalho: Rede sem fio.Trabalho: Rede sem fio.
Trabalho: Rede sem fio.
 
Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)Android - Programação para dispositivos móveis (Aula 2)
Android - Programação para dispositivos móveis (Aula 2)
 
Dispositivos Móveis - Mobile
Dispositivos Móveis - MobileDispositivos Móveis - Mobile
Dispositivos Móveis - Mobile
 

Similaire à Desenvolvimento Mobile: Introdução às Plataformas, Interface, Banco de Dados e Monetização

Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou AppHeider Lopes
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...Impacta Eventos
 
Historias de uma Startup
Historias de uma StartupHistorias de uma Startup
Historias de uma StartupEduardo Costa
 
Introdução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapIntrodução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapDiogo Souza Machado
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"Stefan Horochovec
 
Phonegap - self RJ
Phonegap - self RJPhonegap - self RJ
Phonegap - self RJjavamanrj
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Dirceu Belém
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Eureka! E agora: Nativo ou Híbrido
Eureka! E agora: Nativo ou HíbridoEureka! E agora: Nativo ou Híbrido
Eureka! E agora: Nativo ou Híbridodrbatiston
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013javamanrj
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGapLucas Félix
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGapLucas Félix
 
Windows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsWindows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsMicrosoft
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Tadeu Araujo
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETJoel Rodrigues
 

Similaire à Desenvolvimento Mobile: Introdução às Plataformas, Interface, Banco de Dados e Monetização (20)

Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App
 
Web ou App?
Web ou App?Web ou App?
Web ou App?
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Going Mobile
Going MobileGoing Mobile
Going Mobile
 
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...
 
Historias de uma Startup
Historias de uma StartupHistorias de uma Startup
Historias de uma Startup
 
Introdução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapIntrodução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com Phonegap
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
Phonegap - self RJ
Phonegap - self RJPhonegap - self RJ
Phonegap - self RJ
 
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
Desenvolvimento de aplicações móveis, IOS, Android, Windows Phone 7
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Eureka! E agora: Nativo ou Híbrido
Eureka! E agora: Nativo ou HíbridoEureka! E agora: Nativo ou Híbrido
Eureka! E agora: Nativo ou Híbrido
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
Introducao android
Introducao androidIntroducao android
Introducao android
 
Windows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsWindows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPs
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NET
 

Plus 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 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
 

Plus 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
 

Desenvolvimento Mobile: Introdução às Plataformas, Interface, Banco de Dados e Monetização

  • 3. Elton Minetto CEO da Coderockr @eminetto
  • 5. Introdução ao mundo do desenvolvimento mobile
  • 8. iPhone • 4, 4s, 5, 5c, 5s, 6, 6+ • 3.5, 4, 4.7 e 5.5 polegadas • 640x960 (4, 4s), 1136x640 (5,5s), 1334x750 (6), 1920x1080 (6+) • Assisted GPS, bluetooth, camera, acelerômetro, movimentos,digital (5s)
  • 9. Android • Diversos modelos, de diversos fabricantes • Diversas resoluções: 240×400, 240×432, 320×480, 480×800, 480×854, 600×1024, 640×960 • Diversos tamanhos: 3, 5, 7 pol • GPS, bluetooth, camera, acelerômetro
  • 10. Windows Phone • Principalmente Nokia • Diversas resoluções: 480×800, 768x1280, 720x1280, • Diversos tamanhos: 4.3 pol, 4.5 • GPS, bluetooth, camera, acelerômetro
  • 11. FirefoxOS • Diversos modelos, de diversos fabricantes • Diversas resoluções: 320x480, 540x960, 480x800 • Diversos tamanhos: 3.5 pol, 4 pol, 4.7 pol • GPS, bluetooth, camera, acelerômetro
  • 13. iPod Touch • 3.5 e 4 polegadas • 640x960 (4, 4s) e 1136x640 (5) • Assisted GPS, bluetooth, camera, acelerômetro, WiFi
  • 15. iPad • 7.9 e 9.7 polegadas • 1024x768 e 2048x1536 (retina display) • Assisted GPS, bluetooth, camera, acelerômetro, WiFi/3G
  • 16. Android • Inúmeros modelos, de inúmeros frabricantes • Diversas resoluções: 1024x600, 1280x800, 1280x720,1920x1200 • Diversos tamanhos: 7 pol,10.1, 12.1, 11.8, 7.7, 4.8 • Bluetooth, camera, Wifi/3G
  • 17. Windows Phone • Surface • 1366x768 e 1920x1080 • 10.6 polegadas • Bluetooth, camera, Wifi, acelerômetro
  • 20. Apple
  • 21. Características • Ambiente controlado pela Apple • Única loja: iTunes App Store • Regras rígidas para aprovação de aplicativos
  • 22. Vantagens • Poucos dispositivos para suportar • Ótimas ferramentas de desenvolvimento • Sem pirataria • Lucrativa • A maioria dos dispositivos atualizados
  • 24. Desvantagens • Barreira da linguagem de programação (Objective C) * • Precisa de um computador com Mac OSX • Burocracia • Somente o dono da marca pode publicar aplicativos • Processo de criação da conta em inglês (aprovação via telefone) • Aprovação pode demorar ! * Nova linguagem em desenvolvimento a Swift
  • 25. Números • Em Junho/2012. Fonte: Apple • 400 milhões de contas (com cartão de crédito) • 650 mil apps, sendo 225 mil para o iPad • Pagou 5 bilhões para desenvolvedores • 160 países ! • Em Julho/2014. Fonte: Apple • 1.2 milhões de apps, sendo 475.000 para o iPad • Pagou 10 bilhões para desenvolvedores • 75 bilhões de downloads
  • 26. Ferramentas • iOS Dev Center • Apple Developer Forums • Documentação • iTunes Connect • Xcode (editor, debug, deploy, profilling, testes)
  • 28. Características • Ambiente livre • Diversas lojas: Google Play, Amazon, Samsung, Positivo • Diversas opções de fabricantes • Baseado em software livre
  • 29. Vantagens • Pouca barreira de entrada para desenvolvedores (Java e qualquer SO) • Preço baixo dos dispositivos, devido a grande opção de fabricantes • Processo de publicação de apps rápido e sem burocracia • Pouca burocracia para cadastrar-se como desenvolvedor
  • 31. Desvantagens • Muitos dispositivos para suportar • Poucas regras de aprovação permitem a inclusão de muitos apps de baixa qualidade (visual, performance, segurança) • Grande pirataria • Dispositivos não atualizados
  • 32. Fragmentação • 18.796 dispositivos diferentes • Fonte: TechRepublic, 2014.
  • 33. Números • Em Setembro/2012. Fonte: Google • 675 mil apps • 1.3 milhão de ativações por dia ! • Em Setembro/2014. Fonte: AppBrain • 1.362.720 apps
  • 34. Ferramentas • Documentação • Forums • SDK/NDK • Eclipse + ADT Tools. Android Studio • Simuladores • Java • Diversas bibliotecas livres • Muito código disponível no Github
  • 36. Nativo x Webapp X Híbrido X Cross platform
  • 38. É importante? • UX é determinante em mobile • Fidelização • Melhor Ranking para o app • Mais downloads e compras • Mais renda
  • 39. Money Care U$ 2.99- Ranking: 5 (Setembro/2014) iContas U$ 0.99- Ranking: 6 (Setembro/2014)
  • 40. O que nunca fazer • Portar UI de outras plataformas • Utilizar alertas em excesso • Utilizar fontes pequenas demais • Controles pequenos • Fugir do conceito inicial da plataforma • Criar comandos com gestos difíceis
  • 41. O que fazer • UI de acordo com a plataforma • Controles de tamanho razoável • Tratar diferentes resoluções • Foco no que é importante • Fontes fáceis de ler • Foco no usuário • Seguir os design guidelines das plataformas
  • 43. SQLite • Open source • Funciona em todas as plataformas mobile • Robusto • Triggers, chaves estrangeiras • Rápido
  • 45. Motivos para usar • Múltiplas interfaces • Regra de negócio centralizada • Acesso a sistemas legados • Acesso a APIs externas • Envio de notificações (iOS Notifications, Android Notifications)
  • 46. Como criar • REST para acesso a entidades • RPC para acesso a serviços • JSON ou XML para formato (preferencialmente JSON) • Segurança • HTTPS • OAuth
  • 47. Ferramentas • Frameworks PHP • Silex, Slim, Zend Framework 2, Symfony • Frameworks Ruby • Rails, Sinatra • Frameworks Python • Django, Flask, Pylons • http://parse.com • http://stackmob.com
  • 49. Formas de monetização • Vender o aplicativo nas Apps Stores • Aplicativo gratuíto com assinaturas premium • Aplicativo gratuíto com “in-app purchases” • Aplicativo gratuíto com propagandas • “AdverGames” • Cross-app promotion (não recomendado pela Apple) • Desenvolvimento terceirizado
  • 50. Vendas nas App Stores
  • 52. App free, in-app purchases
  • 54. Advergames Versão free para Android patrocinado pelo Google
  • 55. Qual a melhor forma? • Depende da plataforma • Usuários iOS não se importam em pagar por aplicativos • Usuários Android preferem aplicativos gratuítos com propagandas • Usar mais de uma forma e analisar os resultados
  • 56. http://eltonminetto.net @eminetto eminetto@coderockr.com ! ! Preciso do seu feedback! plp.pw/TEgf