// writing
Posts tagged #web-apis — Page 3
A mix of technical deep-dives, career reflections, and dispatches from the road.
tag: #web-apis

developmentJul 13, 2026· 3 min
Declarative Shadow DOM: Web Components That Render Before Your JavaScript Does
Shadow DOM used to mean a blank page until your bundle loaded. The shadowrootmode attribute changed that, and it has been in every major browser since early…
read more →

developmentJul 12, 2026· 4 min
OPFS: A Real File System in the Browser
The Origin Private File System gives you byte-level, synchronous file I/O in the browser. Here's how it works, when to reach for it, and why it's the reason…
read more →

developmentJul 9, 2026· 3 min
CSS light-dark(): Stop Duplicating Your Dark Mode Colors
The CSS light-dark() function collapses your two dark-mode palettes into a single declaration. Here is how it works, the color-scheme gotcha that trips…
read more →

developmentJul 6, 2026· 3 min
URLPattern: The Browser Finally Has a Built-In Router
URLPattern went Baseline in late 2025, giving the platform a native, framework-free way to match and parse URLs.
read more →

developmentJul 5, 2026· 4 min
CSS Grid Lanes: Native Masonry Has Finally Landed
Masonry layout is coming to CSS as grid-lanes, and Safari shipped it first. Here's how the new display value works, why it beats the JavaScript libraries…
read more →

developmentJul 2, 2026· 3 min
Invoker Commands: Wiring Buttons to Dialogs and Popovers Without JavaScript
The Invoker Commands API lets a button declare what it controls with command and commandfor, replacing modal and popover glue code with plain HTML.
read more →

developmentJul 2, 2026· 3 min
CSS field-sizing: Auto-Growing Textareas Without a Line of JavaScript
The auto-growing textarea has been a JavaScript rite of passage for years. A single CSS declaration now does the whole job, and it works on inputs and…
read more →

developmentJun 29, 2026· 3 min
The Navigation API: Stop Wrestling with history.pushState
The Navigation API hit Baseline in early 2026, giving SPAs a single, purpose-built place to intercept and manage routing.
read more →

developmentJun 28, 2026· 3 min
scheduler.yield(): The One-Liner That Fixes Your INP
A practical look at scheduler.yield(), the browser API that breaks up long tasks and keeps the main thread responsive without the setTimeout penalty.
read more →
// the newsletter