Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
V8 não interpreta JS — ele compila JIT em camadas. Ignition (interpreter), Sparkplug (baseline JIT), Maglev (mid-tier), TurboFan (top-tier optimizing JIT). Hidden classes, inline caches, deopt — por que sua função fica lenta.
Orinoco GC: young generation (Scavenger), old generation (Mark-Compact), incremental marking, concurrent sweeping, lazy sweeping. Como ler `--trace-gc`, identificar memory leak em produção. Pattern WeakMap/WeakRef.
O event loop não é uma fila — são 7+ filas com prioridades. Tasks, microtasks, animation frames, idle callbacks, postMessage. Por que `await` enfileira microtask. requestIdleCallback vs setTimeout(0). HTML spec real, não a versão do bootcamp.
Os 5 estágios do pixel: HTML parse, CSSOM, render tree, layout (reflow), paint, composite. CSS containment, will-change, transform/opacity GPU layer, layout thrashing. Por que `top` reflow e `transform` composite.
Threading no browser: dedicated workers, shared workers, service workers comparados. SharedArrayBuffer + Atomics para zero-copy entre threads (depois do Spectre, exige COOP/COEP headers). Worker pools, comlink, transferable objects.
Service Worker lifecycle (install, activate, fetch), Workbox patterns (cache-first, network-first, stale-while-revalidate), Background Sync API, Push API, Periodic Background Sync. Por que PWA sério é mais difícil do que parece.
Quando WASM ganha de JS (CPU-bound, deterministic). Rust + wasm-bindgen, Go + tinygo, AssemblyScript. wasm-pack, integração Vite/Next. Casos reais: Figma, Photoshop Web, AutoCAD Web.
WebGPU shipou em Chrome 113 (2023), Safari 18 (2024). Compute shaders, render pipelines, WGSL shading language. Casos: ML inference local (transformers.js, ONNX Runtime), real-time graphics. Por que substitui WebGL.
P2P no browser: getUserMedia, RTCPeerConnection, ICE/STUN/TURN, SDP offer/answer, signaling server (não é WebRTC, você implementa). Casos: video chat, file transfer, mesh networks, WebRTC data channels.
WebSocket envelhece. WebTransport sobre QUIC/HTTP/3 traz unreliable datagrams, multiplexed streams, head-of-line blocking eliminado. Quando trocar WebSocket por WebTransport. Suporte browsers em 2026.
View Transitions cross-document (Chrome 126+, 2024) — animar entre páginas sem framework de SPA. Same-document transitions, view-transition-name, snapshots. Como Astro e Next 15+ integram.
OPFS: filesystem privado por origin, sem permissão de usuário, performance perto de IndexedDB-NG. SQLite WASM em OPFS (sql.js, wa-sqlite). File System Access API para escrever em arquivos do disco com permissão.