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 full-size 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 full-size slide

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

    View full-size slide

  4. Tipos de
    dispositivos

    View full-size slide

  5. • 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 full-size slide

  6. • 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 full-size slide

  7. • 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 full-size slide

  8. Media players

    View full-size slide

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

    View full-size slide

  10. • 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 full-size slide

  11. • 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. • 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 full-size slide

  16. • 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 full-size slide

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

    View full-size slide

  18. iOS Dev Center

    View full-size slide

  19. Apple Developer Forums

    View full-size slide

  20. Documentação

    View full-size slide

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

    View full-size slide

  22. iOS Simulator

    View full-size slide

  23. iOS Simulator

    View full-size slide

  24. Instruments (profiling)

    View full-size slide

  25. • 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  28. • 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 full-size slide

  29. • 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 full-size slide

  30. Desvantagens - Fragmentação

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  33. Android Developers Site

    View full-size slide

  34. Android Developer Console

    View full-size slide

  35. Documentação

    View full-size slide

  36. Layout Editor

    View full-size slide

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

    View full-size slide

  38. Ferramentas de desenvolvimento

    View full-size slide

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

    View full-size slide

  40. • 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  44. Ferramentas de desenvolvimento

    View full-size slide

  45. WindowsPhone

    View full-size slide

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

    View full-size slide

  47. • 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  50. Ferramentas de desenvolvimento

    View full-size slide

  51. Ferramentas de desenvolvimento

    View full-size slide

  52. • 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 full-size slide

  53. • 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 full-size slide

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

    View full-size slide

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

    View full-size slide

  56. Ferramentas de desenvolvimento

    View full-size slide

  57. Análise e projeto

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  60. • 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 full-size slide

  61. • 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  67. Smartphone Android
    Menu Voltar
    Home Buscar

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  70. WindowsPhone
    Tiles
    Voltar
    Buscar
    Home

    View full-size slide

  71. WindowsPhone
    Conteúdo
    Continua para
    o lado

    View full-size slide

  72. • 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 full-size slide

  73. Banco de dados

    View full-size slide

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

    View full-size slide

  75. • 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 full-size slide

  76. • 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 full-size slide

  77. • 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 full-size slide

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

    View full-size slide

  79. • 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 full-size slide

  80. • 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 full-size slide

  81. Monetização

    View full-size slide

  82. • 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 full-size slide

  83. Venda nas App Stores

    View full-size slide

  84. App free, assinatura premium

    View full-size slide

  85. App free, in-app purchases

    View full-size slide

  86. App free, propagandas

    View full-size slide

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

    View full-size slide

  88. • 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 full-size slide

  89. • 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 full-size slide

  90. Referências

    View full-size slide

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

    View full-size slide