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

Mobile Destilado!

Mobile Destilado!

Talk para equipe de testes na CWI Software

Avatar for Bernardo Bosak de Rezende

Bernardo Bosak de Rezende

April 13, 2015
Tweet

More Decks by Bernardo Bosak de Rezende

Other Decks in Programming

Transcript

  1. mobile site • versão otimizada para dispositivos móveis • utiliza

    apis do html5 para ter acesso às funcionalidades do dispositivo • não depende de lojas de aplicativos • pontos críticos são performance e fragmentação
  2. web app • "imita" um app acessado via web •

    geralmente utiliza a técnica de spa (single page application)
  3. Vantagens • utiliza tecnologias web (padrão de mercado) • junto

    com seo pode impulsionar bastante a marca • não depende de lojas de aplicativos (ciclo de publicação muito menor)
  4. desVantagens • não é performático por natureza • ter boa

    performance é muito complexo • html5 ainda não resolve a grande fragmentação • consolo: já foi muito pior :-P • Não tem suporte a notificações push nativas
  5. app nativo • código é escrito em linguagens específicas para

    cada plataforma • código é escrito no alto-nível mais próximo possível do sistema operacional mobile • depende de loja de aplicativos
  6. vantagens • melhor dos mundos, em termos de produto final

    • performance • confiabilidade • suporte tecnológico muito bom • documentações oficiais • ide muito boas (debug, profile, publicação nas lojas)
  7. desvantagens • em geral, o custo médio de desenvolvimento e

    manutenção é o mais alto possível • profissionais mais específicos • duplicação natural de lógica de código
  8. multi-plataforma híbrido • utiliza ferramentas e linguagens web-standards que entregam

    código binário para mais de uma plataforma • frameworks "empacotam" o web-app dentro de uma "caixa" nativa • arquitetura orientada a plugins
  9. vantagens • Curva de aprendizado é menor • Maior facilidade

    de reaproveitamento de código com sistemas web já existentes • EM geral, melhor time-to-market possível
  10. desvantagens • Resultado final não é o melhor possível em

    termos de performance e experiência de uso • Suporte tecnológico não é o melhor possível (depende de muitas tecnologias open-source e empresas diferentes)
  11. multi-plataforma aceleradores • "transpila" código do acelerador para binário nativo

    • componentes de interface não são totalmente re- aproveitáveis • binário final gerado não é 100% igual a um binário genuinamente nativo
  12. vantagens • Curva de aprendizado é intermediária • reaproveitamento de

    código intermediário • mescla os principais benefícios entre híbrido e nativo
  13. desvantagens • pouco reaproveitamento nas interfaces • poucas opções free

    e open-source • binário final não é 100% igual a um nativo genuíno
  14. independente disso.. • teste com rotação de dispositivo (em cada

    tela) • teste com recebimento de chamada telefônica • abrir outro aplicativo e voltar para o site / app • modo avião
  15. independente disso.. • teste com vários tipos de conexão (2g,

    3g, muito ruim, muito boa) • teste com bateria morrendo (desligar inesperadamente) • testar sobreposição de versão do site / app
  16. pode ser útil.. • servidor proxy (charles, fiddler2, mitmproxy) •

    inspecionar tráfego de rede do dispositivo • condicionar velocidade de rede • gravar simulação de bugs • utilizar emuladores para mitigar risco de fragmentação (Gennymotion!!)