Frontend
posts (44)
- Testing Through Layers: From Code to Infrastructure5/9
E2E Tests and Visual Regression Tests: The Full User Path
An E2E test walks through the system the way a user does, while a visual regression test protects appearance. They are powerful but expensive, so they should…
- series · 9 parts
The Layers of HTTP in the Browser: From fetch() to QUIC
Two lines of fetch() cover several layers: the browser API, HTTP semantics, the wire protocol and the transport. This series separates them so the Network…
- Frontend Rendering: from server-side pages to hybrid rendering16/17
Server Components: moving the execution boundary
The rendering boundary stops running through the page and starts running through the module graph. Some components never have a client-side implementation.
- Realtime in the Browser: From Polling to WebTransport7/7
Polling, Streaming, SSE, WebSocket, or WebTransport?
The choice follows from the traffic model: freshness, direction, frequency, ordering and reliability. The simplest correct mechanism usually wins.
- Realtime in the Browser: From Polling to WebTransport6/7
WebTransport: Streams and Datagrams for Realtime over HTTP/3
HTTP/3 and QUIC give a single session many independent streams plus datagrams. Not all data has to arrive reliably and in order.
- Frontend Rendering: from server-side pages to hybrid rendering15/17
Resumability: what if we don't hydrate at all?
The server records enough information that the client never rebuilds the component tree. Code loads because execution became necessary.
- Realtime in the Browser: From Polling to WebTransport5/7
WebSockets: A Persistent Bidirectional Communication Channel
After the handshake there are no requests and responses left, only frames. A persistent connection is state, and it reaches the load balancer, the deploy and…
- Testing Through Layers: From Code to Infrastructure2/9
Component Tests and Snapshot Tests: A Small Application Fragment
A component test checks a small part of the application as behavior, while a snapshot test records its output. Both sit close to the code, but they answer…
- Realtime in the Browser: From Polling to WebTransport4/7
Server-Sent Events: An Event Protocol over HTTP Streaming
A standard event format and reconnection on top of an HTTP stream. Last-Event-ID gives you resume, but it does not solve event durability in the system.
- Realtime in the Browser: From Polling to WebTransport3/7
HTTP Streaming: One Response, Many Chunks of Data
A response can be produced over time. A transport chunk is not a message, so framing and backpressure become the application's business.