Networking and The Web/What is a browser?
What is a browser?

Planned chapter | Dan Hollick

What is a browser?

A browser is a document engine, programming runtime, networking client and security boundary assembled into one application.

What is a browser? chapter cover
IN PROGRESS

The source chapter is still planned. This route preserves the collection and offers an original conceptual preview.

A browser is a document engine, programming runtime, networking client and security boundary assembled into one application. The apparent simplicity comes from a set of carefully chosen representations, transformations and physical assumptions working together.

HTML + CSSDOM + styleslayoutpaint

Parsing

HTML becomes a document tree while CSS becomes rules matched against that tree.

This is one part of a longer chain: HTML + CSS becomes DOM + styles becomes layout becomes paint. The useful abstraction hides the physical work, but the underlying constraints still shape the software built above it.

Layout

The engine resolves sizes and positions under a dense set of formatting algorithms.

The implementation is full of compromises. Precision, speed, storage and energy rarely improve together, so practical systems choose the errors people are least likely to notice.

Rendering

Paint commands are grouped into layers, rasterised and composited by the GPU.

Once this layer is visible, familiar design conventions stop looking arbitrary. They are accumulated responses to the capabilities and limits of the machinery below.

╌╌ END ╌╌
Next chapterWhat is code?

A visual study based on the original chapter. Text is condensed and rewritten.