Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolvimento mobile

Desenvolvimento mobile

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

Elton Minetto

May 13, 2013
Tweet

More Decks by Elton Minetto

Other Decks in Technology

Transcript

  1. Desenvolvimento
    mobile

    View Slide

  2. Elton Minetto
    Graduado/pós-graduado em Ciência da Computação
    Desenvolvedor desde 1997
    Professor desde 2004
    Autor de três livros sobre PHP e um sobre grid computing
    Co-fundador da
    Coderockr e do
    Code Squad
    Membro da diretoria da
    ABRAPHP

    View Slide

  3. Contato

    View Slide

  4. http://eltonminetto.net
    @eminetto
    http://coderockr.com
    http://code-squad.com
    [email protected]

    View Slide

  5. Tipos de
    dispositivos

    View Slide

  6. Telefones

    View Slide

  7. • 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

    View Slide

  8. • 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

    View Slide

  9. • 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

    View Slide

  10. Media players

    View Slide

  11. • 3.5 e 4 polegadas
    • 640x960 (4, 4s) e 1136x640 (5)
    • Assisted GPS, bluetooth, camera,
    acelerômetro, WiFi
    iPod Touch

    View Slide

  12. Tablets

    View Slide

  13. • 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

    View Slide

  14. • 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

    View Slide

  15. • Surface
    • 1366x768 e 1920x1080
    • 10.6 polegadas
    • Bluetooth, camera, Wifi,
    acelerômetro
    Tablets Windows

    View Slide

  16. Plataformas

    View Slide

  17. Apple

    View Slide

  18. • Ambiente controlado pela Apple
    • Única loja: iTunes App Store
    • Regras rígidas para aprovação de aplicativos
    Características

    View Slide

  19. • Poucos dispositivos para suportar
    • Ótimas ferramentas de desenvolvimento
    • Sem pirataria
    • Lucrativa
    • A maioria dos dispositivos atualizados
    Vantagens

    View Slide

  20. Vantagens

    View Slide

  21. • 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

    View Slide

  22. • 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

    View Slide

  23. • iOS Dev Center
    • Apple Developer Forums
    • Documentação
    • Ferramentas
    • Provisioning Portal
    • iTunes Connect
    Ferramentas de desenvolvimento

    View Slide

  24. iOS Dev Center

    View Slide

  25. Apple Developer Forums

    View Slide

  26. Documentação

    View Slide

  27. Ferramentas de desenvolvimento
    Mac OS X
    Xcode
    Instruments
    iOS Simulator

    View Slide

  28. Xcode

    View Slide

  29. iOS Simulator

    View Slide

  30. iOS Simulator

    View Slide

  31. Instruments (profiling)

    View Slide

  32. • 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

    View Slide

  33. • Framework Foundation
    • Base do iOS e Mac OS X
    • UIKit
    • Responsável pela interface gráfica
    • Controles, eventos, elementos
    Ferramentas de desenvolvimento

    View Slide

  34. Android

    View Slide

  35. • Ambiente livre
    • Diversas lojas: Google Play, Amazon, Samsung, Positivo
    • Diversas opções de fabricantes
    • Baseado em software livre
    Características

    View Slide

  36. • 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

    View Slide

  37. • 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

    View Slide

  38. Desvantagens - Fragmentação

    View Slide

  39. • Em Setembro/2012. Fonte: Google
    • 675 mil apps
    • 1.3 milhão de ativações por dia
    Números

    View Slide

  40. • Documentação
    • Forums
    • SDK
    • Eclipse + ADT Tools
    • Simulador
    Ferramentas de desenvolvimento

    View Slide

  41. Android Developers Site

    View Slide

  42. Android Developer Console

    View Slide

  43. Documentação

    View Slide

  44. Eclipse

    View Slide

  45. Emulador

    View Slide

  46. Layout Editor

    View Slide

  47. • Java
    • Diversas bibliotecas livres
    • Muito código disponível em livros e Github/Bitbucket
    Ferramentas de desenvolvimento

    View Slide

  48. Ferramentas de desenvolvimento

    View Slide

  49. Blackberry

    View Slide

  50. • Popularizou os “smartphones”
    • Permite escrever aplicativos em diversas linguagens (Blackberry 10)
    Características

    View Slide

  51. • 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

    View Slide

  52. • Participação de mercado em declínio
    • Incerteza do futuro
    Desvantagens

    View Slide

  53. • Em Novembro/2012. Fonte: RIM
    • 75 milhões de aparelhos
    • Em Fevereiro/2012. Fonte: RIM
    • 60mil appps
    Números

    View Slide

  54. • Documentação
    • Forums
    • SDK
    • Simulador
    Ferramentas de desenvolvimento

    View Slide

  55. Ferramentas de desenvolvimento

    View Slide

  56. WindowsPhone

    View Slide

  57. • Nova plataforma
    • Interface inovadora (Metro)
    Características

    View Slide

  58. • 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

    View Slide

  59. • Poucos dispositivos
    • Poucos desenvolvedores
    • Pouca documentação
    Desvantagens

    View Slide

  60. • Documentação
    • Forums
    • SDK
    • Simulador
    • Visual Studio
    • C, C++, C#
    Ferramentas de desenvolvimento

    View Slide

  61. Ferramentas de desenvolvimento

    View Slide

  62. Ferramentas de desenvolvimento

    View Slide

  63. FirefoxOS

    View Slide

  64. • 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

    View Slide

  65. • 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

    View Slide

  66. • Poucos dispositivos (nenhum oficialmente homologado). Inicialmente Alcatel e
    ZTE
    • Poucos desenvolvedores
    • Pouca documentação
    Desvantagens

    View Slide

  67. • Documentação
    • Forums
    • SDK
    • Simulador
    • Javascript, HTML5 e CSS3
    Ferramentas de desenvolvimento

    View Slide

  68. Ferramentas de desenvolvimento

    View Slide

  69. Simulador

    View Slide

  70. Análise e projeto

    View Slide

  71. Interface

    View Slide

  72. • UX é determinante em mobile
    • Fidelização
    • Melhor Ranking para o app
    • Mais downloads e compras
    • Mais renda
    É importante?

    View Slide

  73. All Budget
    U$ 0.99 - Ranking:10
    Money Care
    U$ 2.99 - Ranking: 6

    View Slide

  74. • 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

    View Slide

  75. • 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

    View Slide

  76. iPhone/iPod Touch
    Navegação/Opções
    Abas
    Conteúdo

    View Slide

  77. iPhone/iPod Touch
    Opções do item
    Conteúdo
    Voltar
    Aba Selecionada

    View Slide

  78. iPhone/iPod Touch
    Navegação
    Alternativa
    Conteúdo
    Voltar
    Indicação de
    Atalho para ação

    View Slide

  79. iPad
    Abas
    Barra de Navegação
    Conteúdo

    View Slide

  80. iPad
    Menu
    Outras
    Opções
    Conteúdo

    View Slide

  81. Smartphone Android
    Menu Voltar
    Home Buscar

    View Slide

  82. Smartphone Android
    Navegação
    Abas
    Abas de
    Conteúdo
    Conteúdo

    View Slide

  83. Tablet Android
    Voltar
    Home Aplicativos
    abertos
    Menu
    Abas
    Opções
    Conteúdo

    View Slide

  84. WindowsPhone
    Tiles
    Voltar
    Buscar
    Home

    View Slide

  85. WindowsPhone
    Conteúdo
    Continua para
    o lado

    View Slide

  86. • 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

    View Slide

  87. Banco de dados

    View Slide

  88. • Open source
    • Funciona em todas as plataformas mobile
    • Robusto
    • Triggers, chaves estrangeiras
    • Rápido
    SQLite

    View Slide

  89. • MySQL Workbench: http://www.mysql.com/products/workbench/
    • Free.Ótimo para fazer a modelagem. Múltiplas plataformas.
    • Plugin para gerar SQLite: 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últiplas plataformas. Trial 30 dias
    SQLite - Ferramentas

    View Slide

  90. Backend

    View Slide

  91. • 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

    View Slide

  92. • REST para acesso a entidades
    • RPC para acesso a serviços
    • JSON ou XML para formato (preferencialmente JSON)
    • Segurança
    • HTTPS
    • OAuth
    Como criar

    View Slide

  93. • Frameworks PHP
    • Silex, Slim, Zend Framework 2, Symfony
    • Frameworks Ruby
    • Rails, Sinatra
    • Frameworks Python
    • Django, Flask, Pylons
    Ferramentas

    View Slide

  94. • 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

    View Slide

  95. • 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

    View Slide

  96. Monetização

    View Slide

  97. • 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

    View Slide

  98. Venda nas App Stores

    View Slide

  99. App free, assinatura premium

    View Slide

  100. App free, in-app purchases

    View Slide

  101. App free, propagandas

    View Slide

  102. Advergames
    Versão free para Android
    patrocinado pelo Google

    View Slide

  103. • 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?

    View Slide

  104. • 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

    View Slide

  105. Referências

    View Slide

  106. https://gist.github.com/596cc9fbc6593013590c

    View Slide