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. 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
  2. • 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
  3. • 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
  4. • 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
  5. • 3.5 e 4 polegadas • 640x960 (4, 4s) e

    1136x640 (5) • Assisted GPS, bluetooth, camera, acelerômetro, WiFi iPod Touch
  6. • 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
  7. • 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
  8. • Surface • 1366x768 e 1920x1080 • 10.6 polegadas •

    Bluetooth, camera, Wifi, acelerômetro Tablets Windows
  9. • Ambiente controlado pela Apple • Única loja: iTunes App

    Store • Regras rígidas para aprovação de aplicativos Características
  10. • Poucos dispositivos para suportar • Ótimas ferramentas de desenvolvimento

    • Sem pirataria • Lucrativa • A maioria dos dispositivos atualizados Vantagens
  11. • 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
  12. • 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
  13. • iOS Dev Center • Apple Developer Forums • Documentação

    • Ferramentas • Provisioning Portal • iTunes Connect Ferramentas de desenvolvimento
  14. • 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
  15. • Framework Foundation • Base do iOS e Mac OS

    X • UIKit • Responsável pela interface gráfica • Controles, eventos, elementos Ferramentas de desenvolvimento
  16. • Ambiente livre • Diversas lojas: Google Play, Amazon, Samsung,

    Positivo • Diversas opções de fabricantes • Baseado em software livre Características
  17. • 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
  18. • 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
  19. • Em Setembro/2012. Fonte: Google • 675 mil apps •

    1.3 milhão de ativações por dia Números
  20. • Documentação • Forums • SDK • Eclipse + ADT

    Tools • Simulador Ferramentas de desenvolvimento
  21. • Java • Diversas bibliotecas livres • Muito código disponível

    em livros e Github/Bitbucket Ferramentas de desenvolvimento
  22. • 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
  23. • Em Novembro/2012. Fonte: RIM • 75 milhões de aparelhos

    • Em Fevereiro/2012. Fonte: RIM • 60mil appps Números
  24. • 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
  25. • Documentação • Forums • SDK • Simulador • Visual

    Studio • C, C++, C# Ferramentas de desenvolvimento
  26. • 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
  27. • 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
  28. • Poucos dispositivos (nenhum oficialmente homologado). Inicialmente Alcatel e ZTE

    • Poucos desenvolvedores • Pouca documentação Desvantagens
  29. • Documentação • Forums • SDK • Simulador • Javascript,

    HTML5 e CSS3 Ferramentas de desenvolvimento
  30. • UX é determinante em mobile • Fidelização • Melhor

    Ranking para o app • Mais downloads e compras • Mais renda É importante?
  31. • 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
  32. • 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
  33. • 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
  34. • Open source • Funciona em todas as plataformas mobile

    • Robusto • Triggers, chaves estrangeiras • Rápido SQLite
  35. • 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
  36. • 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
  37. • REST para acesso a entidades • RPC para acesso

    a serviços • JSON ou XML para formato (preferencialmente JSON) • Segurança • HTTPS • OAuth Como criar
  38. • Frameworks PHP • Silex, Slim, Zend Framework 2, Symfony

    • Frameworks Ruby • Rails, Sinatra • Frameworks Python • Django, Flask, Pylons Ferramentas
  39. • 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
  40. • 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
  41. • 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
  42. • 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?
  43. • 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