Desenvolvimento mobile

106
Desenvolvimento mobile

description

Neste apresentação comento algumas dicas, vantagens e diferenças entre as diferentes plataformas de aplicativos móveis como Apple, Android, FirefoxOS, WindowsPhone.

Transcript of Desenvolvimento mobile

Page 1: Desenvolvimento mobile

Desenvolvimento mobile

Page 2: Desenvolvimento mobile

Elton MinettoGraduado/pós-graduado em Ciência da Computação

Desenvolvedor desde 1997Professor desde 2004

Autor de três livros sobre PHP e um sobre grid computing

Co-fundador da Coderockr e do Code SquadMembro da diretoria da ABRAPHP

Page 3: Desenvolvimento mobile

Contato

Page 5: Desenvolvimento mobile

Tipos de dispositivos

Page 6: Desenvolvimento mobile

Telefones

Page 7: Desenvolvimento mobile

• 3Gs, 4, 4S e 5

• 3.5 polegadas. 4 polegadas (iPhone 5)

• 320x480 (3Gs), 640x960 (4, 4s) e 1136x640 (5)

• Assisted GPS, bluetooth, camera, acelerômetro

iPhone

Page 8: Desenvolvimento mobile

• Inúmeros modelos, de inúmeros frabricantes

• 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

Celulares Android

Page 9: Desenvolvimento mobile

• Nokia e HTC (ainda não no Brasil)

• Diversas resoluções: 480×800, 768x1280, 720x1280,

• Diversos tamanhos: 4.3 pol, 4.5

• GPS, bluetooth, camera, acelerômetro

Celulares WindowsPhone

Page 10: Desenvolvimento mobile

Media players

Page 11: Desenvolvimento mobile

• 3.5 e 4 polegadas

• 640x960 (4, 4s) e 1136x640 (5)

• Assisted GPS, bluetooth, camera, acelerômetro, WiFi

iPod Touch

Page 12: Desenvolvimento mobile

Tablets

Page 13: Desenvolvimento mobile

• 7.8 e 9.7 polegadas

• 1024x768 (mini, 1G e 2G) e 2048x1536 (3G e 4G)

• Assisted GPS, bluetooth, camera, acelerômetro, WiFi/3G

iPad

Page 14: Desenvolvimento mobile

• 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

Tablets Android

Page 15: Desenvolvimento mobile

• Surface

• 1366x768 e 1920x1080

• 10.6 polegadas

• Bluetooth, camera, Wifi, acelerômetro

Tablets Windows

Page 16: Desenvolvimento mobile

Plataformas

Page 17: Desenvolvimento mobile

Apple

Page 18: Desenvolvimento mobile

• Ambiente controlado pela Apple

• Única loja: iTunes App Store

• Regras rígidas para aprovação de aplicativos

Características

Page 19: Desenvolvimento mobile

• Poucos dispositivos para suportar

• Ótimas ferramentas de desenvolvimento

• Sem pirataria

• Lucrativa

• A maioria dos dispositivos atualizados

Vantagens

Page 20: Desenvolvimento mobile

Vantagens

Page 21: Desenvolvimento mobile

• Barreira da linguagem de programação (Objective C)

• Precisa de um computador com Mac OS X

• Burocracia

• Somente o dono da marca pode publicar aplicativos

• Processo de criação da conta por fax, em inglês

• Aprovação pode demorar

Desvantagens

Page 22: Desenvolvimento mobile

• 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 Novembro/2012. Fonte: 148apps.biz

• 727,938 apps

Números

Page 23: Desenvolvimento mobile

• iOS Dev Center

• Apple Developer Forums

• Documentação

• Ferramentas

• Provisioning Portal

• iTunes Connect

Ferramentas de desenvolvimento

Page 24: Desenvolvimento mobile

iOS Dev Center

Page 25: Desenvolvimento mobile

Apple Developer Forums

Page 26: Desenvolvimento mobile

Documentação

Page 27: Desenvolvimento mobile

Ferramentas de desenvolvimento

Mac OS X

Xcode

Instruments

iOS Simulator

Page 28: Desenvolvimento mobile

Xcode

Page 29: Desenvolvimento mobile

iOS Simulator

Page 30: Desenvolvimento mobile

iOS Simulator

Page 31: Desenvolvimento mobile

Instruments (profiling)

Page 32: Desenvolvimento mobile

• Objective-C

• Baseada em C

• Orientada a Objetos (inspirada em SmallTalk)

• Mac OS X e iOS

• Pode ser usada em combinação com C e C++

Ferramentas de desenvolvimento

Page 33: Desenvolvimento mobile

• Framework Foundation

• Base do iOS e Mac OS X

• UIKit

• Responsável pela interface gráfica

• Controles, eventos, elementos

Ferramentas de desenvolvimento

Page 34: Desenvolvimento mobile

Android

Page 35: Desenvolvimento mobile

• Ambiente livre

• Diversas lojas: Google Play, Amazon, Samsung, Positivo

• Diversas opções de fabricantes

• Baseado em software livre

Características

Page 36: Desenvolvimento mobile

• 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

Page 37: Desenvolvimento mobile

• 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

Desvantagens

Page 38: Desenvolvimento mobile

Desvantagens - Fragmentação

Page 39: Desenvolvimento mobile

• Em Setembro/2012. Fonte: Google

• 675 mil apps

• 1.3 milhão de ativações por dia

Números

Page 40: Desenvolvimento mobile

• Documentação

• Forums

• SDK

• Eclipse + ADT Tools

• Simulador

Ferramentas de desenvolvimento

Page 41: Desenvolvimento mobile

Android Developers Site

Page 42: Desenvolvimento mobile

Android Developer Console

Page 43: Desenvolvimento mobile

Documentação

Page 44: Desenvolvimento mobile

Eclipse

Page 45: Desenvolvimento mobile

Emulador

Page 46: Desenvolvimento mobile

Layout Editor

Page 47: Desenvolvimento mobile

• Java

• Diversas bibliotecas livres

• Muito código disponível em livros e Github/Bitbucket

Ferramentas de desenvolvimento

Page 48: Desenvolvimento mobile

Ferramentas de desenvolvimento

Page 49: Desenvolvimento mobile

Blackberry

Page 50: Desenvolvimento mobile

• Popularizou os “smartphones”

• Permite escrever aplicativos em diversas linguagens (Blackberry 10)

Características

Page 51: Desenvolvimento mobile

• Pouca barreira de entrada para desenvolvedores (diversas linguagens e qualquer SO)

• Nova versão (Blackberry 10) sendo lançada agora

• Aparelhos atualizados (90% de atualizações do tablet Playbook no primeiro mês de lançamento do novo SO)

• Registro de desenvolvedor grátis

• Mais lucrativa para os desenvolvedores (só perde para a Apple)

Vantagens

Page 52: Desenvolvimento mobile

• Participação de mercado em declínio

• Incerteza do futuro

Desvantagens

Page 53: Desenvolvimento mobile

• Em Novembro/2012. Fonte: RIM

• 75 milhões de aparelhos

• Em Fevereiro/2012. Fonte: RIM

• 60mil appps

Números

Page 54: Desenvolvimento mobile

• Documentação

• Forums

• SDK

• Simulador

Ferramentas de desenvolvimento

Page 55: Desenvolvimento mobile

Ferramentas de desenvolvimento

Page 56: Desenvolvimento mobile

WindowsPhone

Page 57: Desenvolvimento mobile

• Nova plataforma

• Interface inovadora (Metro)

Características

Page 58: Desenvolvimento mobile

• Pouca barreira de entrada para desenvolvedores (ferramentas e ambiente Windows)

• Máquina de publicidade da Microsoft

• Novo mercado necessitando apps

• Grande potencial no mercado empresarial

• Integração com a plataforma Microsoft (Office, Xbox Live, Live, Azure, Bing)

Vantagens

Page 59: Desenvolvimento mobile

• Poucos dispositivos

• Poucos desenvolvedores

• Pouca documentação

Desvantagens

Page 60: Desenvolvimento mobile

• Documentação

• Forums

• SDK

• Simulador

• Visual Studio

• C, C++, C#

Ferramentas de desenvolvimento

Page 61: Desenvolvimento mobile

Ferramentas de desenvolvimento

Page 62: Desenvolvimento mobile

Ferramentas de desenvolvimento

Page 63: Desenvolvimento mobile

FirefoxOS

Page 64: Desenvolvimento mobile

• Baseado em Linux e Firefox (open source)

• Foco inicial em dispositivos low end (mas com potencial para o high end)

• Aparelhos iniciais devem custar de R$200 a R$300

• Aplicativos em HTML5, JS e CSS3

• Em fase final de desenvolvimento (lançamento previsto para primeiro semestre 2013)

Características

Page 65: Desenvolvimento mobile

• Pouca barreira de entrada para desenvolvedores (HTML5, CSS3 e JS são largamente usados na Web)

• Aporte da Mozilla , Vivo e Telefonica

• Lançamento mundial vai ser no Brasil

• Grande mercado para novas aplicações (na loja a ser lançada, a Marketplace)

Vantagens

Page 66: Desenvolvimento mobile

• Poucos dispositivos (nenhum oficialmente homologado). Inicialmente Alcatel e ZTE

• Poucos desenvolvedores

• Pouca documentação

Desvantagens

Page 67: Desenvolvimento mobile

• Documentação

• Forums

• SDK

• Simulador

• Javascript, HTML5 e CSS3

Ferramentas de desenvolvimento

Page 68: Desenvolvimento mobile

Ferramentas de desenvolvimento

Page 69: Desenvolvimento mobile

Simulador

Page 70: Desenvolvimento mobile

Análise e projeto

Page 71: Desenvolvimento mobile

Interface

Page 72: Desenvolvimento mobile

• UX é determinante em mobile

• Fidelização

• Melhor Ranking para o app

• Mais downloads e compras

• Mais renda

É importante?

Page 73: Desenvolvimento mobile

All BudgetU$ 0.99 - Ranking:10

Money CareU$ 2.99 - Ranking: 6

Page 74: Desenvolvimento mobile

• 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 nunca fazer

Page 75: Desenvolvimento mobile

• 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

O que fazer

Page 76: Desenvolvimento mobile

iPhone/iPod TouchNavegação/Opções

Abas

Conteúdo

Page 77: Desenvolvimento mobile

iPhone/iPod Touch

Opções do item

Conteúdo

Voltar

Aba Selecionada

Page 78: Desenvolvimento mobile

iPhone/iPod TouchNavegaçãoAlternativa

Conteúdo

Voltar

Indicação deAtalho para ação

Page 79: Desenvolvimento mobile

iPad

Abas

Barra de Navegação

Conteúdo

Page 80: Desenvolvimento mobile

iPad

Menu

OutrasOpções

Conteúdo

Page 81: Desenvolvimento mobile

Smartphone Android

Menu Voltar

Home Buscar

Page 82: Desenvolvimento mobile

Smartphone Android

NavegaçãoAbas

Abas deConteúdo

Conteúdo

Page 83: Desenvolvimento mobile

Tablet Android

VoltarHome Aplicativos

abertosMenu

Abas

Opções

Conteúdo

Page 84: Desenvolvimento mobile

WindowsPhone

Tiles

VoltarBuscarHome

Page 85: Desenvolvimento mobile

WindowsPhone

ConteúdoContinua para

o lado

Page 86: Desenvolvimento mobile

• iOS Human Interface Guidelines: http://bit.ly/Uxn7vF

• Android User Interface Guidelines: http://bit.ly/ULp3qo

• Blackberry UI Guidelines: http://bit.ly/S4IlTf

• User Experience Design Guidelines for Windows Phone: http://bit.ly/ULPTsL

• FirefoxOS Gaia: http://mzl.la/Wi5xls

Interface Guidelines

Page 87: Desenvolvimento mobile

Banco de dados

Page 88: Desenvolvimento mobile

• Open source

• Funciona em todas as plataformas mobile

• Robusto

• Triggers, chaves estrangeiras

• Rápido

SQLite

Page 90: Desenvolvimento mobile

Backend

Page 91: Desenvolvimento mobile

• Múltiplas interfaces

• Regra de negócio centralizada

• Acesso a sistemas legados

• Acesso a APIs externas

• Envio de notificações (iOS Notifications, Android Notifications)

Motivos para usar

Page 92: Desenvolvimento mobile

• REST para acesso a entidades

• RPC para acesso a serviços

• JSON ou XML para formato (preferencialmente JSON)

• Segurança

• HTTPS

• OAuth

Como criar

Page 93: Desenvolvimento mobile

• Frameworks PHP

• Silex, Slim, Zend Framework 2, Symfony

• Frameworks Ruby

• Rails, Sinatra

• Frameworks Python

• Django, Flask, Pylons

Ferramentas

Page 94: Desenvolvimento mobile

• http://www.parse.com

• Criação de tabelas, acesso via API, push notifications, file storage

• SDK para iOS, Android, Windows8, WindowsPhone, JavaScript

• https://www.parse.com/plans

• Comprado pelo Facebook em Abril/2013

Ferramentas

Page 95: Desenvolvimento mobile

• http://www.stackmob.com

• Criação de tabelas, acesso via API

• Módulos de terceiros (Twitter, Facebook, S3)

• SDK para iOS, Android e HTML5/JS

• https://www.stackmob.com/pricing/

Ferramentas

Page 96: Desenvolvimento mobile

Monetização

Page 97: Desenvolvimento mobile

• 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

Formas de monetização

Page 98: Desenvolvimento mobile

Venda nas App Stores

Page 99: Desenvolvimento mobile

App free, assinatura premium

Page 100: Desenvolvimento mobile

App free, in-app purchases

Page 101: Desenvolvimento mobile

App free, propagandas

Page 102: Desenvolvimento mobile

Advergames

Versão free para Androidpatrocinado pelo Google

Page 103: Desenvolvimento mobile

• 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

Qual a melhor forma?

Page 104: Desenvolvimento mobile

• AdMob

• Google. Baseado no Adwords e Analytics. Funciona para iOS e Android

• Apple iAd

• Somente iOS. Não disponível no Brasil

Plataforma de propagandas

Page 105: Desenvolvimento mobile

Referências