Skip to content

Fluid user experience

Greg Bowler edited this page May 11, 2026 · 3 revisions

WebEngine can deliver a more responsive-feeling interface without abandoning the page-based model. The main tool for that is Flux, which is included by default and documented at https://www.php.gt/docs/Flux/Home/.

Flux allows the browser to opt in to richer behaviour through data-flux attributes. In many cases, no custom JavaScript is needed at all.

Updating parts of a page dynamically

The usual starting point is a normal HTML form or link. Flux can then enhance that interaction so only the relevant part of the page is updated instead of forcing a full refresh.

The best practical introduction is in the Flux docs:

Multi-pass rendering

Multi-pass rendering is the idea of separating the first visible response from later enhancement work. The browser gets something useful quickly, then later requests can fill in the slower parts.

That can improve perceived performance because the user sees useful content earlier, even if some work is still happening in the background.

Flux docs

Flux is the main place to continue from here:


Learn how to track speed and benchmarks in your applications.

Clone this wiki locally