Do blog da OpenReplay
JPEG XL vs AVIF: Qual Formato Você Deve Utilizar em Produção?
JPEG XL vs AVIF para entrega web em 2026: compare compressão, suporte do navegador, custo de codificação e quando enviar AVIF ou JXL.
As Bibliotecas por Trás dos Aplicativos React Modernos
Stack moderno de React para 2026: Next.js, TanStack Query, Zustand, Tailwind v4, shadcn/ui, React Hook Form, Motion e escolhas prontas para RSC.
Um Guia de Campo para o Ecossistema TanStack
Guia do ecossistema TanStack: Query, Router, Table, Form, Virtual, Store, Start, DB e AI, com maturidade, usos e como se conectam.
Gerenciando Foco e Interatividade com o Atributo Inert
Use o atributo inert para isolar modais, drawers e overlays de carregamento, bloqueando foco, cliques e acesso à árvore de acessibilidade.
Manipulação Moderna de Arquivos em Node.js
Tratamento moderno de arquivos no Node.js com fs/promises, streams, file handles, códigos de erro, concorrência e proteção contra path traversal.
Detectando Bugs de UI com Testes de Regressão Visual
O visual regression testing com Playwright e Vitest detecta bugs de UI que testes unitários e E2E não veem, com dicas de baselines, flakiness e CI.
Por Que Você Não Deveria Validar E-mails com Regex
Por que a regex de e-mail falha: rejeita endereços válidos, aceita os que não entregam e pode causar ReDoS. Use o input email do HTML5 ou uma biblioteca.
Gerenciamento de Estado no Svelte 5 com Runes
Gestão de estado no Svelte 5 com runes: use $state, $derived e $effect, compartilhe estado entre componentes e evite vazamentos SSR no SvelteKit.
Autorização Client-Side vs Server-Side: Por Que Você Precisa das Duas
Autorização no cliente e no servidor em React e Next.js: imponha permissões no servidor, use o cliente para UX e evite erros 403.
Como Construir uma API CRUD com AdonisJS
Crie uma API CRUD com AdonisJS v7: rotas de posts, modelos Lucid, validação VineJS e respostas JSON testadas com curl.
Um Guia Prático para os Novos Métodos de Set do JavaScript
Métodos Set do JavaScript explicados: union, intersection, difference, symmetricDifference e testes de subconjunto, com suporte a Map e navegadores.
Tagged Template Literals: Construindo Mini-DSLs em JavaScript
Tagged template literals em JavaScript: strings cooked e raw, cache WeakMap, HTML seguro, SQL parametrizado e mini-DSLs.
LLM Harnesses: Por Que o Wrapper Importa Mais do Que o Modelo
Não só o modelo importa: harnesses de LLM moldam o sucesso do agente. Orquestração, ferramentas, contexto e verificação.
Processamento de Vídeo em Tempo Real com a API WebCodecs
Processamento de vídeo WebCodecs com MediaStreamTrackProcessor, TransformStream e VideoTrackGenerator, além de frame.close, backpressure, workers e suporte.
5 Coisas Para as Quais Você Não Precisa do React
Cinco APIs nativas do navegador substituem componentes React comuns: dialog, Popover, Custom Elements, container queries e View Transitions.
Como Dockerizar uma Aplicação Bun
Dockerize uma app Bun com Dockerfile pronto para produção, .dockerignore, bind 0.0.0.0, healthchecks, Compose e desligamento SIGTERM.
Alguém Ainda Usa Polyfills em 2026?
Polyfills em 2026? Audite core-js, Browserslist e Babel para remover peso morto, manter Temporal e abandonar o polyfill.io.
Entendendo `infer` no TypeScript
infer no TypeScript: como tipos condicionais extraem retornos, elementos de arrays, tuplas, literais de template e Awaited.
Coisas Legais que Você Pode Fazer com a Web Serial API
Exemplos da Web Serial API para monitores, gravadores de firmware, fluxos de G-code, painéis de telemetria, controladores de tela e UIs de configuração.
Como Criar um Arquivo para Download no Navegador
Crie downloads no navegador com Blob, URL de objeto e links download, além de correções para arquivos cross-origin, BOM em CSV, iOS Safari e streaming.
Trabalhando com Variáveis CSS Tipadas Usando @property
Variáveis CSS tipadas com @property: valide propriedades personalizadas, anime valores com fluidez e entenda fallback silencioso, sintaxe e suporte.
Explorando o Ladybird, o Projeto de Browser Não-Chromium
Ladybird é um navegador sem Chromium criado do zero: arquitetura, migração para Rust, avanço no WPT e plano do alfa de 2026.
Usos Práticos do !important no CSS Moderno
Usos práticos de !important em CSS moderno: acessibilidade reduced-motion, sobrescrever estilos de terceiros, classes utilitárias e depuração do cascade.
Por Que o Remix 3 Foi Projetado para Agentes de Codificação com IA
Remix 3 e agentes de codificação de IA: por que o framework inclui agent skills, APIs claras e design runtime-first para código gerado por LLM.