Frontends com Vibecoding · Capítulo 11 de 33 · 23 min
Preparar imagens, ícones e vídeo para a web
Você sai com a esteira que prepara imagem, ícone e vídeo antes de publicar, com formato mais leve, licença conferida e som que só toca depois do toque.
Este capítulo faz parte do curso gratuito Frontends com Vibecoding.
Toda imagem publicada decide três coisas de uma vez: o formato do arquivo, o preparo antes de subir e a licença que ela carrega. Formato é o jeito de guardar a foto, como escolher entre embalar num saco ou numa caixa, e ele muda quanto a foto pesa.
Peça AVIF primeiro, WebP depois e JPEG por último, com a meta de ficar abaixo de 150 KB no tamanho em que a foto aparece. O AVIF descreve a mesma imagem com menos dados, o WebP é aceito há mais tempo e o JPEG é o piso que qualquer navegador abre.
A etiqueta picture oferece os três em ordem, e o navegador para no primeiro que reconhece. Assim o celular antigo recebe o JPEG e o novo recebe o AVIF, sem você manter duas páginas. Largura e altura declaradas reservam o espaço antes de o arquivo chegar, e o botão para de pular sob o dedo.
Três tipos fogem da regra. Ícone, desenho de linha e gráfico simples vão em vetor SVG, que não perde nitidez em nenhum tamanho. Captura de tela com letra pequena pede WebP sem perda, e foto com fundo transparente pede AVIF.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
O preparo é a etapa que some do processo, porque nada quebra quando ela é pulada. A foto de 4,2 MB aparece na tela igual à de 96 KB, e quem desistiu de esperar no celular não deixa registro nenhum. Por isso o prejuízo é invisível até alguém medir.
A saída é tirar o preparo da memória de alguém e pôr num script que roda no build, a montagem final do site antes de publicar. O Sharp redimensiona, converte e gera a versão minúscula e borrada, uma vez por imagem, e o SVGO limpa o vetor.
Quem prefere tela em vez de script usa o Squoosh, que faz a mesma conversão no navegador. No Next.js, a base de código do curso, o next/image monta a cadeia inteira numa linha.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
A imagem de compartilhamento, a capa que o WhatsApp mostra ao lado do link, sai de um gerador, nunca de uma arte desenhada página a página. O Satori com @vercel/og transforma a marcação da própria página em imagem, no servidor mais perto de quem pediu o link.
Ele pesa 500 kB contra os 50 MB de um navegador completo, por isso cabe num servidor pequeno e custa quase nada por capa. Depois que o gerador está de pé, toda página nova ganha a capa sozinha, sem passar pelo designer.
Ampliar e recortar são dois trabalhos com ferramenta própria. Para ampliar foto real sem inventar detalhe, use o Topaz. Para acrescentar detalhe a uma arte estilizada, use o Magnific, que inventa de propósito e por isso fica longe da foto de produto.
A remoção de fundo roda dentro do navegador, então a foto do cliente nunca sai do aparelho dele. O transformers.js usa a placa de vídeo pelo navegador, com reserva no processador quando ela falta, e o MediaPipe separa a pessoa do fundo na câmera ao vivo.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Direito vem antes de gerar ou de baixar. Cada plataforma define quem detém a imagem gerada e se o uso comercial está liberado, e a regra muda entre OpenAI, Midjourney e Firefly. A Lei 9.610, de 1998, define autor como pessoa física e nada diz sobre obra feita por modelo.
Adote o C2PA na geração, o padrão que grava dentro do arquivo quem gerou a imagem, com qual ferramenta e o que foi editado depois. Ele aparece como Content Credentials, e conferir esse selo antes de publicar é o que te protege numa reclamação.
Banco gratuito e ilustração aberta seguem a mesma ordem de leitura: primeiro o CC0, que libera o uso sem crédito, depois a atribuição exigida. Por último vêm as proibições específicas de cada arquivo.
Modelo de imagem erra palavra escrita, e o erro piora em português, por isso ponha o texto por cima em HTML. A descrição alternativa segue uma regra: vazia na imagem que só enfeita e com o conteúdo real na que informa, jamais o nome do arquivo.
O PhotoSwipe abre a galeria com gesto de pinça e segue estável. O esqueleto de carregamento, o contorno cinza que ocupa o lugar da imagem antes de ela chegar, vem do react-content-loader. Ele substitui o círculo girando, porque a pessoa vê a forma do que vem e a tela não pula.
Sete etapas de imagem e a ferramenta de cada uma
| Etapa | Ferramenta | Quando entra |
|---|---|---|
| Converter e redimensionar no build | Sharp (script) ou Squoosh (tela); SVGO para vetor | Toda imagem, uma vez, antes de publicar; meta abaixo de 150 KB no tamanho exibido |
| Capa de compartilhamento | Satori 1.0 com @vercel/og; resvg para PNG | Toda página com título próprio; 500 kB no edge contra 50 MB de um Chromium |
| Ampliar foto real | Topaz | Foto de produto e de pessoa, sem inventar detalhe |
| Acrescentar detalhe a arte | Magnific | Ilustração estilizada; nunca em foto que precisa ser fiel |
| Remover fundo no navegador | transformers.js com RMBG-1.4 ou ModNet (WebGPU, reserva Wasm); MediaPipe Image Segmenter | Foto que não pode sair do aparelho; pessoa ao vivo na câmera |
| Provar a origem | C2PA e Content Credentials | Toda imagem gerada por modelo, com o selo verificado antes de publicar |
| Galeria e espera | PhotoSwipe 5; react-content-loader ou react-loading-skeleton | Lightbox com pinça; esqueleto no lugar do círculo girando |
A licença de uso comercial se confere antes de gerar ou baixar, e o comprovante fica guardado.
Antes de publicar, abra a página no computador e vá na aba Rede das ferramentas do navegador, que lista tudo que desceu. Recarregue em modo celular e olhe a coluna de tamanho de cada imagem. É assim que se confere o peso de uma foto.
JPEG ou PNG puro acima de 150 KB é o sinal de que falta a etiqueta picture naquela imagem. Um script do Sharp no build entrega cada foto abaixo desse limite todo dia, sem ninguém precisar lembrar.
Depois teste a capa de compartilhamento mandando o link para você mesmo no WhatsApp. Liste a origem, a licença e o selo de cada imagem em uso, e marque em vermelho aquela que você não sabe responder de onde veio.
Pedir ícone e vídeo que não gastam banda de quem só olha
A esteira já entrega imagem leve com licença conferida, e ícone e vídeo entram pela mesma régua, sem cobrar banda de quem apenas olha a página.
Ícone, vídeo e som são os três arquivos que mais cobram internet de quem só olha a página, e cada um tem jeito de cobrar apenas o necessário. Banda é o quanto de dados o celular da pessoa precisa baixar, e no plano dela isso vira dinheiro e espera.
O ícone engorda o pacote sem ninguém perceber. Pedir cada desenho pelo nome deixa de fora o que a tela não usa, como comprar três frutas na feira. Pedir a coleção inteira de uma vez arrasta o catálogo completo para a conta de quem via só três desenhos.
A cor do ícone vem de currentColor, a palavra que faz o desenho herdar a cor do texto ao redor. Dentro do botão, o ícone escurece junto com o rótulo e acompanha a troca de tema. Cor fixa escrita dentro do desenho vira preto sobre preto no tema escuro.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
O vídeo é o arquivo mais pesado que a página serve, e quatro ajustes resolvem a primeira visita. O poster é a imagem parada que aparece antes do play, e ela é o que a maioria das visitas vê do seu vídeo.
Com preload em none, o arquivo não desce antes do toque, e o playsInline mantém o vídeo dentro da página no iPhone. O track aponta a legenda, um arquivo de texto com o tempo de cada fala.
Vídeo curto vale como arquivo próprio. Aula gravada pede plataforma de streaming, que ajusta a qualidade à internet de cada pessoa e evita travar no celular com sinal fraco.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
A regra da casa vale para toda página pública: nunca a etiqueta video crua, com os controles padrão do navegador. O player precisa de controle de velocidade, transcrição no HTML servido, que o buscador e o leitor de tela leem, e botão de compartilhar.
O Video.js juntou os times de Video.js, Plyr, Vidstack e Media Chrome numa versão só, ainda em teste. Enquanto ela não sai, o Vidstack e o hls.js sozinho são as opções estáveis para uma página no ar hoje.
Já o Vidstack traz HLS e DASH, os formatos de streaming que trocam a qualidade conforme a internet da pessoa, além de YouTube. O hls.js cuida só do streaming, e serve quando a interface já existe.
Som tem três bibliotecas e um padrão. O Howler.js pesa sete quilobytes, toca trilha e efeito com um chamado só e lida com o bloqueio de som automático do celular. O Tone.js sintetiza notas, o caso do instrumento na tela, e o wavesurfer.js desenha a onda em que a pessoa clica para pular.
O padrão combina Howler para a trilha e Tone só onde o som nasce na hora. Som nunca começa sozinho, porque a pessoa pode estar num lugar silencioso: ela aperta, e o botão mostra que está tocando.
Players e som: o que cada biblioteca cobre e quando entra
| Biblioteca | O que cobre | Quando entra |
|---|---|---|
| Video.js v10 | player único de Video.js, Plyr, Vidstack e Media Chrome na Mux; beta de março de 2026, 81% menor, mínimo de 5 kB gzip | Projeto novo a partir da versão final, prevista para meados de 2026 |
| Vidstack | player com provedores HLS, DASH, YouTube e Remotion | Página pública hoje, com velocidade, transcrição e compartilhar |
| hls.js | só o streaming adaptativo, sem interface | Quando a interface já existe e falta só o HLS |
| Howler.js | trilha e efeito sonoro, 7 kB | Todo som de interface e trilha; o padrão |
| Tone.js | síntese e agendamento musical | Só na camada generativa, onde o som nasce na hora |
| wavesurfer.js | forma de onda interativa | Podcast e áudio longo em que a pessoa pula trechos |
Nunca a etiqueta video com controls crua em página pública; o som começa só depois do toque.
Um sinal simples diz que a conta está certa: com poster, preload none, playsInline e legenda dentro de um player completo, só o quadro parado desce. Se o arquivo de vídeo aparecer na lista de rede antes do clique, o preload ainda está ligado.
Vale o mesmo para o ícone e para o som. Ícone pedido pelo nome fica fora do pacote quando a tela não o usa, e pintado por currentColor continua visível no tema escuro. A trilha toca depois do toque, nunca sozinha.
Antes de publicar, desative o cache, que é a cópia guardada pelo navegador para não baixar tudo de novo, e recarregue a página mais visitada.
Confira na aba de rede quantos quilobytes desceram antes de qualquer toque no play. O critério de pronto é nenhum vídeo e nenhum áudio aparecerem na lista antes do clique. Todo player cru em página pública vira Vidstack ou hls.js, com velocidade, transcrição e compartilhar.
Guia prático: medir o peso que o template trouxe e converter antes de publicar
Template profissional chega bonito e pesado, e o peso não aparece no navegador do computador de quem aprova. Os 51 templates de site medidos em 07/10/2026 dão a dimensão:
| O que foi medido | Resultado |
|---|---|
| Fotos locais | 656 JPG somando 56 MB e 0 em WebP ou AVIF |
| Vídeos locais | 20 MP4 somando 35 MB |
| Topo em vídeo ligado à rolagem | 7 templates, vídeo de 1,9 a 6,0 MB |
| Topo em sequência de quadros | 5 templates, 121 JPG desenhados em canvas, cerca de 12 MB |
| Fotos do Unsplash por endereço externo | 112 endereços em 35 templates |
| Fotos no armazenamento da própria plataforma | 141 endereços em 19 templates |
| loading="lazy" | 10 dos 51 templates, num total de 222 imagens |
Num template de advocacia, o pacote final deu 5,0 MB, dos quais 3,4 MB eram o vídeo do topo. Os endereços externos têm outro risco: a foto mora no servidor de alguém. Se o arquivo no Unsplash mudar ou se o armazenamento da plataforma sair do ar, por fim de assinatura ou mudança de projeto, as 141 imagens dos 19 templates somem do seu site sem aviso.
A lição: antes de publicar, rode um passo de conversão que traz cada imagem para o projeto, no formato moderno e na largura em que aparece, e anote o peso antes e depois.
Prepare as imagens deste projeto para publicar. Não altere o layout.
1. Liste toda imagem e todo vídeo: endereço ou arquivo, peso, largura real
e largura em que aparece em 390 px e em 1440 px.
2. Baixe as imagens externas para [public/img/] e troque as referências.
3. Converta para AVIF e WebP, com JPEG de reserva, na largura exibida
(no máximo [1600] px), e sirva com <picture>, width e height.
4. Ponha loading="lazy" em toda imagem abaixo da primeira dobra;
a imagem principal do topo fica sem lazy.
5. Vídeo do topo: até [2] MB, sem áudio, com pôster. Acima de 5 MB,
o arquivo sai do repositório e vai para armazenamento de objetos.
6. Me entregue uma tabela com o peso total antes e depois, por tipo.Do template pesado à página que abre no 4G
Cinco passos para o dia em que você adapta um template ou recebe o pacote de fotos do cliente.
Passo 1: Meça o peso por tipo antes de mexer
Peça ao agente o peso da pasta pública separado em foto, vídeo, fonte e código, e o tamanho do pacote final depois do build. Esse é o número contra o qual você compara.
Deu certo quando: Você tem o peso total e o peso do topo anotados com a data.
Erro comum: Medir só o código e esquecer que o vídeo do topo é a maior parte do pacote.
Passo 2: Traga para casa o que mora fora
Procure endereços de imagem de outros domínios, de banco de fotos e de armazenamento de terceiros. Cada um vira arquivo do projeto, com licença conferida, ou sai.
Deu certo quando: A aba de rede do navegador mostra imagens só do seu domínio.
Erro comum: Manter a foto externa porque "sempre funcionou" e descobrir o buraco no dia em que o serviço muda.
Passo 3: Converta na largura em que a foto aparece
Use o pedido do bloco de código. Foto de cartão que aparece com 400 pixels não precisa de arquivo de 3.840. Cada imagem sai em AVIF e WebP, com JPEG de reserva.
Deu certo quando: Nenhuma imagem é servida com mais que o dobro da largura exibida.
Erro comum: Converter para WebP e manter a largura original, ganhando pouco.
Passo 4: Decida o topo pela conta, não pelo efeito
Topo com vídeo ligado à rolagem pede vídeo curto, sem áudio e com pôster; sequência de 121 quadros pede cerca de 12 MB. Se o público chega pelo celular na rua, considere uma foto boa com movimento leve.
Deu certo quando: O topo carrega dentro do orçamento de peso escrito no projeto.
Erro comum: Aceitar 12 MB de quadros porque o efeito impressionou na reunião.
Passo 5: Feche com lazy, dimensões e a tabela final
Imagem abaixo da dobra ganha loading="lazy"; toda imagem ganha width e height, que reservam o espaço e evitam o salto da página. Guarde a tabela de antes e depois no projeto.
Deu certo quando: A tabela mostra a queda de peso e a página não pula enquanto as fotos chegam.
Erro comum: Pôr lazy na foto principal do topo e atrasar justamente o que aparece primeiro.
No fim você tem: Imagens do seu domínio, no formato e na largura certos, com o peso antes e depois registrado e o vídeo pesado fora do repositório.
Dono de uma pousada em Paraty que adaptou um template de hotel com um agente
Turismo, reserva direta
Dor
O site abria devagar no celular de quem pesquisava na estrada, e metade das fotos dos quartos vinha de um banco de imagens externo, sem relação com a pousada.
Solução
Ele trocou as fotos externas pelas próprias, mandou o pedido de conversão e substituiu o vídeo de 5 MB do topo por uma foto da varanda com pôster leve e um vídeo curto só na seção da piscina.
Resultado
A tabela de antes e depois mostrou o pacote muito menor, e todas as fotos passaram a ser da pousada, servidas do próprio domínio.
Cenário construído para fins didáticos. Números não correspondem a cliente específico.
Aplicar os recursos ao projeto
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
picture, srcset e sizes servem para entregar a imagem do tamanho certo a cada tela. srcset lista os candidatos, sizes conta o espaço que a imagem vai ocupar e picture troca formato ou recorte. O navegador escolhe sozinho, e ninguém no celular precisa baixar a foto que foi feita para o telão.
Prepare a capa do capítulo em duas versões: uma deitada e outra com recorte fechado para tela estreita. Use source dentro de picture para escolher o recorte e deixe img como saída de emergência. Declare largura e altura para reservar o espaço e escreva o texto alternativo pela função da imagem.
Declarar sizes errado faz o navegador baixar arquivo maior do que precisa, e a conta de peso mente. Abra a aba de rede e veja qual arquivo veio em larguras e densidades diferentes. Para o pacote offline, leve todos os candidatos e teste cada condição, inclusive a imagem de emergência que fica no img.
SVGO aperta e arruma o SVG na hora de publicar, tirando repetição e reescrevendo o que der para encurtar. O arquivo encolhe sem mudar o desenho, desde que você diga o que precisa sobreviver. Identificador, título, descrição e dimensão costumam ser usados por acessibilidade, estilo ou interação fora do desenho.
Guarde o diagrama original e processe uma cópia, com a lista de plugins escrita por você, nada de padrão escondido. Preserve viewBox para o desenho continuar redimensionável e segure os IDs que a legenda usa. Compare antes e depois no mesmo tamanho e veja se a descrição ficou no elemento certo.
Arquivo menor que perdeu rótulo ou referência já não representa a mesma peça. Antes de trocar o original, teste cor, máscara, fonte, impressão e leitura por voz. SVGO não limpa conteúdo de origem duvidosa; essa checagem é outra, feita à parte. Publique só a versão final, depois de revisada.
Se a figura ultrapassar a área visível, deslize para os lados. Pelo teclado, foque a figura e use as setas.
Sharp trata imagem por código: redimensiona, recorta e converte uma pasta inteira sempre da mesma forma. O trabalho acontece na sua máquina ou na hora de publicar, e quem lê não precisa ter nada instalado. O ganho é aplicar a mesma regra de tamanho e de formato ao material inteiro, sem esquecer nenhuma foto.
Leia a foto original do catálogo, aplique resize com o enquadramento combinado e gere WebP e JPEG com toFile. Deixe o original guardado para um recorte futuro e batize cada saída pelo nome da variante. A página escolhe a versão conforme o espaço em que a imagem vai aparecer.
Conversão mexe em orientação, transparência, cor e detalhe fino, justo o que a explicação precisa. Olhe amostras com texto e contorno, compare peso e nitidez, e confira direitos e metadados da foto. Leve só os arquivos finais no pacote; a esteira de preparação fica com a sua equipe.
Squoosh abre a imagem no navegador e mostra, lado a lado, o antes e o depois de cada ajuste de compressão. Esse confronto revela defeito que o número de bytes esconde. A ferramenta é de bastidor, da hora de preparar o material; ela não entra no curso para o leitor enxergar a foto.
Abra a foto do produto e mexa em formato e qualidade olhando a textura, a borda e o texto da embalagem. Compare no tamanho real de exibição, e não só ampliado, porque o olho perdoa mais de longe. Exporte a variante escolhida, guarde o original e dê um nome que diga a função.
Compressão agressiva come um detalhe técnico ou mancha o degradê, e a mensagem se perde mesmo com o arquivo menor. Confira transparência, cor e legibilidade antes de substituir a imagem. Copie o resultado autorizado para a pasta local e abra o documento sem rede, longe do aplicativo de autoria.
Laboratório visual: preparar imagens, ícones e vídeo para a web
Origem, enquadramento, formato e carregamento
Escolha seu próximo encontro.
Oficina de cerâmica. Sábado, às 14h. Veja os horários antes de reservar.
Consultar horáriosA versão revisada oferece assunto, horário e uma ação específica. Compare a ordem de leitura e o espaço disponível.
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
Estude antes
- CursoClaude Code CLI: Programação com IA
- Montar vídeo em React com Remotion e renderizar na sua máquina ou na AWSsugerido pelo grafoApresenta o conceito “React”, usado em “Preparar imagens, ícones e vídeo para a web”.
- As linhas que ninguém orça: build, medição e logsugerido pelo grafoApresenta o conceito “Build”, usado em “Preparar imagens, ícones e vídeo para a web”.
- Gates do CI e deploy sem surpresasugerido pelo grafoApresenta o conceito “Vercel”, usado em “Preparar imagens, ícones e vídeo para a web”.
Depois, siga para
- CursoPrompt Engineering para Executivossugerido pelo grafo7 capítulos de “Prompt Engineering para Executivos” usam conceitos apresentados em “Frontends com Vibecoding”.
- CursoLLM FinOps: o custo da IA para quem assina o orçamentosugerido pelo grafo3 capítulos de “LLM FinOps: o custo da IA para quem assina o orçamento” usam conceitos apresentados em “Frontends com Vibecoding”.
Conceitos deste capítulo
O mesmo assunto em outros cursos
- Meta Ads 2027Montar imagens, carrosséis e coleções com um conceito comercial comumExaminar conexões de Montar imagens, carrosséis e coleções com um conceito comercial comum
- Astra profundoDirigir uma fotografia para sua função na páginaExaminar conexões de Dirigir uma fotografia para sua função na página
- Vídeo com IA: Claude Code, Codex e ElevenLabsMontar vídeo em HTML com HyperFrames e escolher entre ele e o RemotionExaminar conexões de Montar vídeo em HTML com HyperFrames e escolher entre ele e o Remotion
- MCP com Chrome: Automação com IAFazer o agente ler a página em texto em vez de fotografarExaminar conexões de Fazer o agente ler a página em texto em vez de fotografar
Voltar ao capítulo anterior: Projetar movimento, assinatura e narrativas por rolagem
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.
Laboratórios ao vivo deste curso
Cada laboratório monta a biblioteca real dentro da aula, com controles para você mexer e o código do exemplo para copiar. O texto de reserva descreve a demonstração para quem lê sem JavaScript. O link abre o capítulo já no ponto do laboratório.
Base UI
Prenda o foco num diálogo sem escrever o comportamento
Abra a janela Agendar visita, percorra os campos com Tab, feche com Esc e acompanhe no painel onde o foco está e para onde ele volta.
Pacote
Abrir no capítuloConstruir componentes, usar o registro e publicar o catálogo@base-ui/reactLucide e Iconify
Mantenha uma família de ícones coerente e nomeie cada botão
Mude tamanho, traço e cor da barra, veja o símbolo do Iconify acompanhar o Lucide e rode a auditoria de nomes acessíveis.
Pacote
Abrir no capítuloProjetar uma linguagem de ícones e ilustraçãolucide-react, @iconify/reactMotion
Testar os três sinais que autorizam o terceiro degrau
Reproduza a entrada em sequência, aperte o botão com mola e arraste o cartão; ajuste rigidez e amortecimento e veja o que muda.
Pacote
Abrir no capítuloProjetar movimento, assinatura e narrativas por rolagemmotionVidstack
Ver o que separa um player de um vídeo cru
Dê o play, troque a velocidade e ligue a legenda; o painel ao lado mostra o estado que o player publica e que a etiqueta crua esconde.
Pacote
Abrir no capítuloProjetar movimento, assinatura e narrativas por rolagem@vidstack/reactcmdk
Achar um destino entre quarenta digitando três letras
Abra a paleta, digite fat e escolha um item só pelo teclado; o painel embaixo conta o que o filtro deixou passar e quanto tempo levou.
Pacote
Abrir no capítuloConstruir formulários e estados de interaçãocmdknumber-flow
Animar indicadores que mudam ao vivo com formato pt-BR
Veja três indicadores fictícios rolarem a cada troca e compare com o número em texto puro. Pause, reinicie e observe o separador de milhar.
Pacote
Abrir no capítuloProjetar gráficos e painéis pela decisão@number-flow/reactApache ECharts
Medir o custo de desenhar 200 mil pontos com o ECharts
Troque o tipo de gráfico e o volume de pontos, leia o tempo de desenho e alterne o eixo em zero. Mude o tema do site e veja as cores refazerem.
Pacote
Abrir no capítuloProjetar gráficos e painéis pela decisãoechartssharp e svgo
Escolher a variante certa da imagem e conferir o teto de 150 KB
Arraste a largura da tela simulada, troque a densidade entre 1x e 2x e veja qual arquivo o navegador escolhe, quanto ele pesa e se cabe no orçamento.
Pacote
Abrir no capítuloValidar desempenho, autenticação e segurançasharp, svgoReact Flow (xyflow)
Disparar um pedido e ver o orquestrador distribuir, conferir e responder
Alterne paralelo e sequencial, ligue e desligue a verificação e use a medição real; observe o tempo de parede em cada combinação.
Pacote
Abrir no capítuloConstruir as cenas do orquestrador, do paralelismo e do robô@xyflow/reactGSAP, Web Workers e number-flow
Dividir mil tarefas entre trabalhadores reais e correr três ritmos de geração
Execute com um trabalhador, depois com quatro e oito, e compare o tempo; em seguida percorra a corrida e separe a espera inicial do ritmo.
Pacote
Abrir no capítuloConstruir as cenas do orquestrador, do paralelismo e do robôgsap, @number-flow/reactThree.js com React Three Fiber, drei, Rapier e XR
Carregar o braço robótico, ver a física trabalhar e entrar na cena com o visor
Carregue a cena pelo botão, inicie o ciclo, mostre os ângulos das juntas, troque a câmera e a velocidade; com visor, entre em realidade virtual.
Pacote
Abrir no capítuloConstruir as cenas do orquestrador, do paralelismo e do robôthree, @react-three/fiber, @react-three/drei, @react-three/rapier, @react-three/xrMotion
Ver quatro agentes em raias trocando mensagens e a revisão devolvendo um trecho
Reproduza os 60 s de modelo, percorra o tempo pelo controle e esconda as mensagens para comparar a leitura; repare no tempo de parede contra a soma.
Pacote
Abrir no capítuloEspecificar, medir e produzir as cenas da máquinamotionMediaRecorder, Canvas 2D e Long Animation Frames (plataforma)
Medir o quadro da cena e gravar seis segundos dela em vídeo
Suba as partículas, force um bloqueio de 300 ms e leia o medidor; depois grave seis segundos, veja o codec escolhido e baixe o arquivo.
Pacote
Abrir no capítuloEspecificar, medir e produzir as cenas da máquinasem pacotesigma.js, graphology com ForceAtlas2 e cosmos.gl
Ver o grafo real do curso e um grafo de milhares de nós se organizarem em aglomerados
Rode o layout no grafo real, passe o mouse pelos nós e busque uma entidade; troque para 20 mil nós e leia o medidor; depois carregue o modo massivo na placa de vídeo.
Pacote
Abrir no capítuloAnimar um grafo de conhecimento amplo em movimentosigma, graphology, graphology-layout-forceatlas2, graphology-generators, @cosmos.gl/graph
Capítulos vizinhos em Frontends com Vibecoding
- 09Adaptar o layout ao celular e ao contêiner
- 10Projetar movimento, assinatura e narrativas por rolagem
- 11Preparar imagens, ícones e vídeo para a web
- 12Construir profundidade e dirigir a montagem de vídeo
- 13Construir formulários e estados de interação