59

Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam
Page 2: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

+ de 20 anos em desenvolvimento Web

Adepto de full-stack JavaScript desde 2012

Adepto do Vue desde 2015 (v. 0.12.11)

Community Partner do vuejs.org

Tecnólogo em Processamento de Dados

MBA em Gestão de Tecnologia da Informação

Mestre em Engenharia de Produção

Page 3: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Você já viuo

Page 4: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam
Page 5: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

<script src="https://unpkg.com/vue/dist/vue.js"></script><script>new Vue({el: '#app',data: {text: '',tasks: []

},methods: {insert () {if (this.text) {this.tasks.push(this.text)this.text = ''

}}

}})</script>

Page 6: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

<div id="app"><h1>Tarefas</h1><form @submit.prevent="insert"><input placeholder="O que deve ser feito?" v-model="text"><button>Inserir</button>

</form><ul><li v-for="task of tasks">{{ task }}</li>

</ul></div>

Page 7: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Isso é só o começo:

Page 8: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Mas é só o começo:

Page 9: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

<template><div class="home"><h1>Tarefas</h1><task-insert @inserted="inserted"/><task-list :tasks="tasks"/>

</div></template>

<script>import TaskInsert from '../components/TaskInsert.vue'import TaskList from '../components/TaskList.vue'

export default {components: { TaskInsert, TaskList },data () { return { tasks: [] } },methods: { inserted (text) { this.tasks.push(text) } }

}</script>

<style scoped>h1 { color: #20a068; }</style>

Page 10: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Então, por que

“Teria sido melhor ir ver o filme do Pelé”?

(Chaves, 1979)

Page 11: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Sensação de desconforto com SPA’s...

Page 12: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

O que é

Page 13: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

mínimodesde a primeira requisição,

elementos injetados

por script no

Page 14: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

O famoso <div> vazio...

Page 15: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

O que é

Page 16: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

completo,

gerado pelo desde a primeira requisição

Page 17: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

De comer?!

A força do conceito de SPA!

Firebase?!

Ufa, vamos em frente...

Page 18: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Senta que

Page 19: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

arquivos estáticos com HTML puro

request

Page 20: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Common Gateway Interface no servidor

request

back-end + DB

Page 21: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

CGI,desde 1997!

Pois é, não é novidade!

Page 22: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Nem no Vue!

Page 23: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

No React também não!

Abrindo parênteses...

...Fechando parênteses.

Page 24: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

servidor reprocessa tudo, a cada requisição

request(post-back)

back-end + DB

Page 25: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Que experiência

ruim!

O mundo precisava de

um herói...

Page 26: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

empoderando JavaScript para fazer requests

request(Ajax)

back-end + DB

Page 27: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

JS é fera, esquece o back-end,

vamos fazer tudo nofront-end!

Page 28: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

com HTML mínimo, renderizando no cliente

request

Page 29: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

waterfall requests

com HTML mínimo, renderizando no cliente

Page 30: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

SPA funciona, então...

Page 31: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

e

Crawlers poderão ver diretamente a página, completamente renderizada

Page 33: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

de

Servidor entrega HTML completo: potencialmente menos waterfall requests

Page 34: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Um servidor pode reduzir ataques XSSatravés de CSP headers e http only cookies

Page 35: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Leitores de tela se comportam melhor com HTML pré-renderizado

Page 36: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Para aqueles clientes que podem não suportar JavaScript

Page 37: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

- -

Navegadores podem renderizar o HTML sem ter de esperar todos os scripts

Page 39: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

=

Page 40: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Usuários veem o conteúdo rapidamente, antes mesmo de pensar em interagir

Page 42: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

E quando

Page 43: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Desde que as outras vantagens não façam falta!

Cenário onde SEO e waterfall requests não representam grandes problemas

Page 44: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Mas lembre-se: é possível servir SSR a partir de AWS, Azure, Google Cloud, etc...

Quando você não quer (ou não pode) pendurar o seu render em uma function

Page 45: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Quando não há dados frequentemente mutáveis, tudo pode ser pré-renderizado

> nuxt generate

new PrerenderSPAPlugin({staticDir: '/dist', routes: ['/', '/sobre’]

})

Page 46: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Ok. E se...Eu quiser

vantagens de SSR no

conforto do meu SPA?

Page 47: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

unificando as abordagens SSR e SPA

request

back-end + DB

clienteestático

Page 48: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

unificando as abordagens SSR e SPA

preload &prefetch

clientedinâmico

Page 49: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

Que lindo!E como o Vuepode ajudar

nesta parada?

Page 50: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam
Page 51: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam
Page 52: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam
Page 53: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

github.com/vuejs/vue-hackernews-2.0

Page 54: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

E esse talde

Page 55: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam
Page 57: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

github.com/ErickPetru/tdcsp2019-ssr-universal-nuxt

Page 58: Você já viu o - Amazon Web Services€¦ · O que é. mínimo desde a primeira requisição, elementos injetados por script no. ... Cenário onde SEO e waterfall requests não representam

A pergunta final: