Konrad Kowalski (rootsher)Principal Platform & Reliability Architect111001100100000110110000101011100111100010001110

Blog - Konrad Kowalski (rootsher)

posts (112)

  1. series · 7 parts

    Realtime in the Browser: From Polling to WebTransport

    Realtime is a requirement about the maximum acceptable delay of information, not the name of a protocol. The mechanisms from polling to WebTransport, each born…

  2. Frontend Rendering: from server-side pages to hybrid rendering13/17

    Selective and progressive hydration: not everything deserves CPU now

    Hydration stops being one startup task. Client CPU becomes a resource allocated by priority and by the user's real intent.

  3. Ways of Talking to a Backend: From HTML Forms to GraphQL6/6

    GraphQL: Letting the Client Define the Shape of Data

    The response stops belonging to a resource or an operation and starts belonging to the client's query. Flexibility is paid for with predictable execution and…

  4. Ways of Talking to a Backend: From HTML Forms to GraphQL5/6

    RPC: When an API Models Operations Instead of Resources

    RPC starts from the operation, not the resource. Intent becomes explicit, but the semantics move out of HTTP and into the application contract.

  5. Frontend Rendering: from server-side pages to hybrid rendering12/17

    Edge rendering: compute moved closer to the user

    Moving compute closer to the user only pays off when the data travels with it. Otherwise we shorten one hop and lengthen the rest.

  6. Ways of Talking to a Backend: From HTML Forms to GraphQL4/6

    REST: Resources, Representations, and HTTP Semantics

    REST is not "JSON plus endpoints". It is resources identified by URIs, representations kept separate from the resource, and the meaning of HTTP methods put to…

  7. Ways of Talking to a Backend: From HTML Forms to GraphQL3/6

    Fetch API: The Modern Browser Interface to HTTP

    fetch did not change the communication model, only the interface. Request and Response are objects, the body is a stream, and a 404 is not an error.

  8. Ways of Talking to a Backend: From HTML Forms to GraphQL2/6

    AJAX: When a Request Stopped Meaning a Page Reload

    XHR did not change the protocol, only the reader of the response. Status, headers and the origin boundary stopped being the browser's business and became the…

  9. Frontend Rendering: from server-side pages to hybrid rendering11/17

    Partial Prerendering: one page, several clocks

    The route stops being the unit of decision. A static shell is produced earlier, dynamic fragments arrive at request time or through the stream.

  10. Ways of Talking to a Backend: From HTML Forms to GraphQL1/6

    HTML Forms: Backend Communication Without JavaScript

    A form is not an API helper. The browser itself serializes the controls, builds the request and treats the response as a new document.