What the heck do "declarative" and "reactive" actually mean?
Are you telling the DOM how to change, or just what it should look like? Understand the fundamental difference between imperative and declarative programming.
#1about 2 minutes
Understanding imperative vs declarative with an analogy
An analogy of tidying a room illustrates the difference between giving step-by-step instructions (imperative) and describing the desired final state (declarative).
#2about 7 minutes
The challenge of manual DOM manipulation in JavaScript
A vanilla JavaScript counter example demonstrates the imperative process of manually querying and updating the DOM to synchronize application state with the UI.
#3about 3 minutes
How the browser renders HTML, CSS, and JavaScript
An overview of the browser's rendering pipeline shows how it converts HTML and CSS into a DOM and CSSOM to paint pixels on the screen.
#4about 4 minutes
Introducing the core concepts of reactive programming
Reactive programming is introduced using a spreadsheet analogy, where changing one value automatically updates all dependent values, aiming for a UI that is a function of its state.
#5about 5 minutes
Abstracting DOM updates with a custom state object
A simple state object with a `setValue` method is created to encapsulate imperative DOM manipulation, making the event handler more declarative.
#6about 4 minutes
The imperative pitfalls of conditional UI rendering
Attempting to conditionally add an element to the DOM imperatively reveals common bugs and makes the UI difficult to reason about from the code.
#7about 3 minutes
How React enables declarative UI with a virtual DOM
React's declarative approach is demonstrated, using a virtual DOM and the `useState` hook to describe the UI's appearance based on state.
#8about 2 minutes
Svelte's approach to truly reactive state updates
Svelte simplifies reactivity by making standard JavaScript assignments automatically trigger UI updates, removing the need for setter functions.
Related jobs
Jobs that call for the skills explored in this talk.
The HTML Elements That You’re Probably Over-EngineeringAs frameworks have become more and more commonplace in the world of web development, so too has the over-engineering of features made possible by our humble old friend, HTML.
The mental models that come with using state management in React, Vue and o...
Daniel Cranney, Chris Heilmann
Dev Digest 215: Agent Memory, JS2026, Googlebot Analysis & Canvas❤️HTMLInside last week’s Dev Digest 215 .
🗿 Make AI talk like a caveman
🧠 A guide to context engineering for LLMs
🤖 Simon Willison on agentic engineering
🔐 Axios supply chain attack post mortem
🛡️ Designing AI agents to resist prompt injection
🎨 HTML in c...
Daniel Cranney
Dev Digest 202: The Vibe Coding Trap, Hacking Discord and How Browsers WorkInside last week’s Dev Digest 202 .
🗣️ A look behind the scenes how we organise the WeAreDevelopers World Congress
🙅 Vibe coding is a trap
🟪 How to hack discord
⚔️ Building defensive AI agents
📘 The consise TypeScript book
😄 Web development is fun a...
SciChart
The Fastest JavaScript Charts - Built for React and BeyondFor most developers, browser charting works fine — until it doesn’t. Once you push beyond tens of thousands of points, add live streaming, or need advanced interactions, the story changes: frame drops, frozen dashboards, memory issues.
That’s where S...
From learning to earning
Jobs that call for the skills explored in this talk.