Pesquisar este blog

Marcadores

javascipt js vue.js web
Mostrando postagens com marcador vue.js. Mostrar todas as postagens

domingo, 28 de abril de 2024

thumbnail

Vue.js e SPA

 

Vue.js SPA e SFC

Ou: siglas e mais siglas



Olá, leitora ou leitor


Algumas vezes fico me perguntando: "Será que tem alguma área onde tem mais siglas pra decorar do que na TI"?

Quer ver? Faz um teste se você sabe todas estas siglas: ASCII, CRM, API, UX/UI, IoT, VPN, LLM, BI, BPM, BYOD, ERP. Que sopa de letrinhas não é mesmo?

Bem no Vue.js não é diferente, existem muitas siglas e conceitos que você precisa saber o que significam, mas a boa notícia é que não é preciso decorar, com o tempo e o uso você aprende.

Vou tentar te ajudar apresentando os conceitos e siglas mais presentes no desenvolvimento com Vue.js.

Mas como de costume vou fazer um disclaimer!

Disclaimer

Este texto faz referência a sites, informações, produtos e/ou serviços que são controlados por outras pessoas e que foram mencionados com o único objetivo de informar e instruir a você leitor, sendo que não recebi nenhum valor monetário ao citar estes produtos e não me responsabilizo pela correção, funcionamento ou descontinuação das informações, serviços e produtos citados neste texto.

SPA

Esta sigla significa Single-Page Application (SPA) e diz respeito às aplicações web que são implementadas de forma a minimizar a quantidade de acessos às páginas do servidor web.

Normalmente uma SPA consiste em um único arquivo Java Script que é servido ao browser. Este navegador interpreta e renderiza a aplicação sem que haja necessidade de obter outras páginas do servidor web.

Uma SPA possui as seguinte caracterísitcas:

  • Implementa interatividade avançada com o usuário
  • Mantem o registro das seções do usuário e controla o armazenamento e estado da aplicação no lado do cliente (frontend)
  • Possui roteamento do lado do cliente, permitindo o uso de múltipla páginas ou telas de aplicação sem o recarregamento do aplicativo
Conforme o trecho abaixo, retirado da documentação do Vue.js, uma SPA tem a seguinte desvantagem:

Aplicativos SPA puros do lado do cliente são problemáticos quando o aplicativo é sensível ao SEO e ao conteúdo produzido em tempo real. Isso ocorre porque o navegador receberá uma página HTML praticamente vazia e terá que esperar até que o JavaScript seja carregado antes de renderizar qualquer coisa.

Para saber mais sobre as SPA no contexto do Vue.js visite o seguinte LINK.

SFC

Single-File Components esta sigla diz respeito a um formato especial de arquivo existente no Vue.js  que permite definir em um único arquivo o template (HTML), a lógica (Javscript) e a estilização (CSS).

São os arquivos com a extensão *.vue. Veja abaixo um exemplo deste tipos de arquivo retirado diretamente da documentação doVue.js:

<script setup>
import { ref } from 'vue'
const greeting = ref('Hello World!')
</script>
<template>
  <p class="greeting">{{ greeting }}</p>
</template>
<style>
.greeting {
  color: red;
  font-weight: bold;
}
</style>


sexta-feira, 26 de abril de 2024

thumbnail

Vue.js - 101 (introdução)

Ou: uma declaração de amor ao Vue.js



Olá, leitora ou leitor


Não sei se você é assim, mas de vez em quando eu me apaixono por alguma tecnologia, um framework, uma linguagem de programação, uma ferramenta. 

Foi assim com o Laravel, com o Docker, com as pipelines CI/CD no Git Lab e com o Vue.js

Confesso que ultimamente tenho traído meu querido Vue.js com o React.js mas nunca vou deixar de lado a primeira paixão.

Então para me redimir com meu amado Vue.js, relembrar e me preparar para a certificação, resolvi escrever esta série de tutoriais do Vue.js.

Nesta série de posts vou escrever um tutorial com o básico do Vue.js, incluindo o contéudo necessário para  prova de certificação do Vue.js.

O conteúdo desta série foi retirado da documentação do Vue.js (este é o link Vue.js Guide) mas aqui esta resumido e direto ao ponto o que mais você precisa saber para trabalhar com o Vue.js e também para se preaparar para a prova de certificação.

Mas antes deixa eu fazer um disclaimer aqui!

Disclaimer

Este texto faz referência a sites, informações, produtos e/ou serviços que são controlados por outras pessoas e que foram mencionados com o único objetivo de informar e instruir a você leitor, sendo que não recebi nenhum valor monetário ao citar estes produtos e não me responsabilizo pela correção, funcionamento ou descontinuação das informações, serviços e produtos citados neste texto.

Para começar

Para acompanhar este tutorial de Vue.js você vai precisar de alguns softwares instalados em seu computador: run-time do Javascript; um editor de código e um gerenciador de versionamento de código. 

Se você já desenvolve software provavelmente você já tem estas ferramentas. Minha sugestão é que você instale:

Os links acima são os softwares que gosto mais de usar. Fique à vontade se você quiser usar outros de que você goste mais.

Windows, Linux ou Mac ?

Sou usuário do Windão desde sempre, então esta série de tutorias do Vue.js está sendo escrita e testada em uma máquina com Windows.

Para os comandos da CLI estou usando o Git Bash, que é instalado no pacote do Git indicado acima, como interpretador de linhas de comando.

Se você é usuário do Linux ou do Mac, por favor continue lendo o post, pois todos os comandos que eu mencionar aqui também podem ser executados no seu sistema sem alterações.

Instalação

Existem algumas opções para criar uma aplicação Vue.js, a primeira e mais comum é gerar um esqueleto da aplicação que vai ser usado como base para criar nosso próprio aplicativo.

De acordo com a documentação o comando para criar o esqueleto, chamado de scaffolding, é o seguinte :

npm create vue@latest

Se você desenvolve em uma máquina com o sistema Linux ou o Mac, basta exeutar o comando acima.

Neste tutorial estou usando o Git Bash em um computador com o sistema Windows, e por este motivo o comando será um pouco diferente e é o seguinte:

winpty npm.cmd create vue@latest

Em seguida aceite todos os defaults pressionado enter para todas as perguntas do programa instalador.

Após isso digite os seguintes comandos:

cd vue-project
npm install
npm run dev

Após o último comando abra uma nova aba e digite a url: http://localhost:5173/ na barra de navegação no seu navegador. Será exibida na janela no browser o logotipo do Vue.js e a frase: You did it !.

Vite

O Vite é uma ferramenta de build criada pelo Ewan You, o mesmo criador do Vue.js. O Vite trabalha com o conceito de templates e, além do Vue.js, pode ser usado para criar um scaffolding de aplicação Java Script ou Type Script para vários frameworks, entre eles: React.js e Svelte.

 Alem disso, existem outros templates criados e mantidos pela comunidade de usuários do Vite que permitem criar projetos contendo outros utilitários e  frameworks, com por exemplo: TailwindCSS, Electron, Ionic e outros.

O grande diferencial do Vite é a velocidade com que ele gera um esqueleto para a aplicação. Para testar execute o comando:

npm create vite@latest my-vue-app -- --template vue

Com muita rapidez será criado o scaffolding da aplicação e você poderá digitar o restante dos comandos para rodar o aplicativo exemplo do Vue.js conforme o templte do Vite. Para isso digite os comandos:

cd my-vue-app
npm install
npm run dev

Após o último comando abra uma nova aba e digite a url: http://localhost:5173/ na barra de navegação no seu navegador. Será exibida na janela no browser o logotipo do Vue.js, frase: Vite + Vue e um contador com o valor Count 0 que vai sendo incrementado cada vez que você clica nele.

CDN

Se você não quiser instalar o Vue.js também é possível utilizar framework a partir de uma CDN (rede de distribuição de conteúdo).

Esta abordagem é muito mais rápida porque não necessita das etapas de instalação e de build. Os casos em que ela é mais útil é quando você quer implementar reatividade em uma pagina HTML estática, ou fazer a integração do Vue.js com um framework de backend já instalado.

Fique alerta, porém que utilzando o Vue.js a partir de uma CDN não será possível utilizar a sintaxe  Single-File Component (SFC), ou seja, você não poderá encapsular o template, a lógica e o CSS de um componente Vue em um único arquivo .

Nesta série de tutoriais não vou abordar em detalhes este caso de uso do Vue.js a partir de uma CDN. Estou mencionando aqui apenas porque é um assunto que pode ser cobrado na prova de certificação.

Para um exemplo prático: abra o editor de código VSCode; crie um novo arquivo com o nome de index.html. Em seguida digite:

html

Assim que você começar a digitar o VSCode exibe uma série de opções de autocomplete, escolha a opção: html:5

O editor VSCode vai gerar um template de página HTML vamos agora ativar o Vue.js nesta página a partir de uma CDN.

Para isso na seção HEAD logo acima da tag de título insira a seguinte linha:

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

Seu arquivo index.html vai ficar mais ou menos assim:

...
<head> 
  <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <title>Document</title>
</head>
...

Para completar o exemplo copie e cole o código abaixo na seção BODY do seu arquivo:

<div id="app">
      <p>{{count}}</p>
      <button @click="increment">Incrementar</button>
    </div>
    <script>
      const { createApp, ref } = Vue
    
      createApp({
        setup() {
          const count = ref(0)
          function increment() {
            count.value ++
          }      
          return {
            increment,
            count
          }
        }
      }).mount('#app')
    </script>

Salve o arquivo e depois abra com um browser. Se  tudo deu certo você verá um botão e um contador e ao clicar no botão o contador vai ser incrementado.

Por equanto é só, não perca o próximo post onde vou falar sobre:

  • Vue,js e SPA
  • Reatividade no Vue.js


Tecnologia do Blogger.

Vue.js e SPA