HackerTube.dev

Hacker Way: Rethinking Web App Development at Facebook

Meta Developers · 899.9K views · 2014-05-05 · 44:36

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

Facebook engineers explain why they abandoned the traditional MVC paradigm for a more functional architecture, introducing Flux and React. They use the unread-message-count bug as a case study of the problems of bidirectional data flow at scale.

On Hacker News

HN points to it as the original talk that explains the motivation behind React, Flux and Redux, and that sold some commenters on React.

Recommended by 5 HN people across 5 months · HN mentions 2014–2024

Topics

Search by tags

What people said

yazaddaruvala · 2023-06 · Strong recommendation

I'll try one last time: > Sorry none of this makes any sense to me. If you're not familiar with the MVC variants (MVVM, MVP, MVI, MOVE)[0][1] we should start there. Next you should read through some common mistakes of Backbone.js like applications [LINK] and some criticisms of MVC on HackerNews in 2012[0]. Finally if you haven't before these talks, they are the ones that sold me on React: - [LINK] - [LINK] - [VIDEO] [0] [LINK] [1] [LINK]

Read the original HN comment ↗
phailhaus · 2024-12 · Recommendation

If you have state changes within your render cycle, then you can't write pure functions anymore, you have a stateful class. And if you have a stateful class, then React can't control when you render, because it can't know when you update a variable. So the onus is on you to decide when your component needs to re-render. This is extremely easy to screw up. You will end up in scenarios where the UI does not match the underlying state, just because the two have gone out of sync. React inverts the MVC paradigm and says "no, you don't get to decide when to render." So if you want to update state, React will manage that for you and queue up the render. With React, your UI and state literally cannot go out of sync (except for refs), and all the data dependencies are managed for you. Facebook gave a great talk on Flux architecture vs MVC ten years ago that you should check out here: [VIDEO] > what's the point of the setXXX() functions? Why not just make them constant explicitly Look at the code again: it is explicitly constant! `const [myState, setMyState] = useState(0)`. `myState` is a const, and will literally not change its value for the entire render cycle. There is no mutable state to manage, no race conditions. You just tell React what to render based on what the value is now, and React injects the current value for you. The first time, `myState` is 0 since that's the initial value. Every subsequent render, React will give you the latest value. You can pretend everything is con

Read the original HN comment ↗
franciscop · 2023-05 · Recommendation

Exactly, this is the same as saying Redux has two methodologies, the "setter system" and the "event system"; since it wasn't that well documented initially doesn't mean that the setter way was ever recommended (it's not). In fact if you watched the Flux youtube talk, something highly recommended to learn the philosophy behind Redux, it was pretty clear. Edit: here's the video (from 10:20) [VIDEO]

Read the original HN comment ↗

Sources

Video by Meta Developers, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources