André Kovac

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.

What the heck do "declarative" and "reactive" actually mean?
#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.

Featured Partners

Related Articles

View all articles
BR
Benjamin Ruschin
The HTML Elements That You’re Probably Over-Engineering
As 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...
The HTML Elements That You’re Probably Over-Engineering
S
SciChart
The Fastest JavaScript Charts - Built for React and Beyond
For 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...
The Fastest JavaScript Charts - Built for React and Beyond
CH
Chris Heilmann
Building a "shoutout" component in plain HTML/CSS/JavaScript
Every Wednesday we meet at noon to talk about a lot of tech news, tools and resources in something we call WeAreDevelopers Live . We go live on YouTube and afterwards we cut out short videos to post on social media. What we needed was an obvious “sho...
Building a "shoutout" component in plain HTML/CSS/JavaScript
DC
Daniel Cranney
Why Attend a Developer Event?
Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership. Skill Diversification: Break out of your specific tech stack to see how the industry...
Why Attend a Developer Event?

From learning to earning

Jobs that call for the skills explored in this talk.