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

Do MVP ao PWA, melhorando o engajamento com cli...

Do MVP ao PWA, melhorando o engajamento com cliente na CVC

Esta palestra apresenta a abordagem técnica que transformou um produto mínimo viável que tinha por objetivo experimentar uma alternativa de busca de pacotes turísticos por mapa em um aplicativo web progressivo que permitiu o vislumbre de grande potencial para o aumento das conversões online, bem como a aceitação e o investimento dos stakeholders.

Palestra apresentada no QCON São Paulo 2018 na trilha JavaScript e Web.
Assista em https://youtu.be/VWa0QoAXuyM

Avatar for Janderson Silva

Janderson Silva

May 09, 2018
Tweet

More Decks by Janderson Silva

Other Decks in Programming

Transcript

  1. Em 2016 iniciou-se um projeto de um site responsivo e

    performático para alavancar as vendas, mas no modelo de gestão e processos de sempre.
  2. “Experiência de usuário abrange todos os aspectos da interação entre

    o usuário final e a empresa, seus serviços e seus produtos.” Nielsen Norman Group
  3. Por que adotamos a abordagem PWA em nosso MVP? Baseado

    em 3 princípios: • Confiabilidade • Rapidez • Engajamento do usuário
  4. Vantagens • Nenhuma instalação física do aplicativo é necessária. •

    Não há necessidade de visitar a loja de aplicativos. • Pode ser atualizado automaticamente. • É adequado para o sites de comércio eletrônico.
  5. Desvantagens • Embora possua muitos recursos, ainda não há suporte

    a todos os recursos, como um app nativo • Em casos que requerem mais complexidade, como jogos, o PWA não substitui totalmente um app nativo.
  6. Como construir um Progressive Web App • Mobile First ◦

    Leveza e rapidez ◦ Layout responsivo ◦ Experiência de app nativo
  7. Progressivo • Funcionar em qualquer navegador • Em qualquer sistema

    operacional • Para qualquer nível de usuário
  8. Páginas responsivas Não basta apenas ajustar o conteúdo na tela

    do dispositivo! App-like: O usuário deve se sentir em um app nativo Como saber? https://search.google.com/test/mobile-friendly
  9. Service Worker Escrever na mão ou gerar automaticamente? • Workbox:

    https://developers.google.com/web/tools/workbox/ • Plugins para frameworks ◦ React: https://www.reactpwa.com ◦ Vue: https://github.com/vuejs-templates/pwa ◦ Ember: http://ember-service-worker.com
  10. Carregamento rápido em conexão 3G • PageSpeed: https://developers.google.com/speed/pagespeed/insights/ • Otimização

    de imagens ◦ Kraken: https://kraken.io/ ◦ Imaginary: https://github.com/h2non/imaginary ◦ Thumbor: https://github.com/thumbor/thumbor • Políticas de cache • Tratando os scripts que bloqueiam a renderização • Reduzindo o tempo de resposta do servidor
  11. Transição entre páginas não deve demonstrar bloqueio de rede •

    Efeitos de transição são facilmente implementáveis apenas com CSS • Tela de esqueleto: http://hannahatkin.com/skeleton-screens/
  12. As páginas devem ter URLs exclusivas e amigáveis • Permite

    melhorar a indexação • Permite o compartilhamento amigável das páginas
  13. Experiência imersiva e engajamento do usuário • Parece um app

    nativo • Se comporta como app nativo • Tem recursos de app nativo • Mas não é um app nativo!
  14. Experiência imersiva e engajamento do usuário Parece um app nativo,

    se comporta como app nativo, tem recursos de app nativo, mas não é um app nativo! • Layout de app • Push Notifications
  15. Desafios de implementação e arquiteturais na CVC • Feature nova,

    tecnologias e arquitetura diferentes do legado ◦ React + Redux ◦ Apollo ◦ Saga ◦ GraphQL ◦ NodeJS
  16. Desafios de implementação e arquiteturais na CVC E agora? O

    que fazer com o site/e-commerce legado? • Dividir para conquistar • Problemas com Service Worker e Service Worker Precache • Limitações por regras de negócio ◦ Partes do e-commerce não podem ser offline • Mudança na arquitetura do software • Melhorias na infraestrutura • Implementação de processador de imagens para melhorar web performance