React
React is a UI library developed by Meta (formerly Facebook). The prototype was written in 2011 by Facebook engineer Jordan Walke, and React was open-sourced in 2013. The design — building UIs from components, updating the screen efficiently through a virtual DOM, and writing HTML inside JavaScript via JSX — has reshaped the mainstream of modern front-end development.
Origin of the Name
"React" simply means "to react." When data changes, the UI "reacts" — the screen automatically re-renders as state shifts — and that core idea sits inside the name. AngularJS at the time worked similar territory through "two-way data binding," but React was lighter and chose "one-way data flow."
2011: The Prototype by Jordan Walke
The seed of React appeared in 2011, when Facebook engineer Jordan Walke built an internal prototype for the Ads Manager tool. Facebook's News Feed at the time was constructed through complex DOM manipulation with libraries such as jQuery, and bugs cropped up frequently with every new feature.
Jordan Walke wanted to build "a mechanism that keeps the on-screen state aligned with the program's state." Drawing on PHP's XHP (an extension that lets you write HTML inside PHP), he created the JavaScript equivalent. That was the direct ancestor of React.
2013: Open-Sourcing React
At JSConf US in May 2013, Facebook engineer Pete Hunt presented React publicly for the first time. The early reaction from developers was skeptical: comments such as "writing HTML inside JavaScript (JSX) feels weird" and "two-way data binding is more intuitive" were common.
Even so, React proved itself in real products — "Instagram in its entirety (2014)," "Facebook's comment system," "Khan Academy," and others — and adoption accelerated rapidly from around 2015. Two factors drove that shift: AngularJS's "digest cycle" had developed performance problems in large apps, and React's "virtual DOM with one-way data flow" scaled better in those situations.
React's Design Philosophy
React's design philosophy comes down to three points:
- Component-based: UIs are split into small reusable parts. Instead of extending HTML, you express UIs as functions (or classes).
- Unidirectional data flow: state changes drive re-renders. The reverse direction — UI changes that mutate state directly — must be passed in explicitly through props. This makes data flow easier to follow.
- Virtual DOM: the "ideal state of the screen" is held as a JavaScript object rather than the real DOM. Diffing computes the minimal changes and applies only those to the real DOM, keeping updates fast.
The arrival of React Hooks in 2018 (useState, useEffect, and others) marked a major shift from a class-component-centered design to a function-component-centered one. Stepping away from class-based OOP toward a more functional style made code noticeably more concise.
Major Version Milestones
| Version | Year | Notable milestone |
|---|---|---|
| React 0.x | 2013 | Initial release; JSX introduced |
| React 16 | 2017 | Fiber architecture improves rendering |
| React 16.8 | 2018 | Hooks introduced (function components become central) |
| React 17 | 2020 | "No new features" release (compatibility-focused) |
| React 18 | 2022 | Concurrent rendering; Suspense becomes stable |
| React 19 | 2024 | Server Components in earnest, Actions, the use hook |
React Today
React stands as the leading representative of front-end frameworks and is one of the most widely adopted libraries today. Major services around the world — Facebook, Instagram, WhatsApp, Netflix, Airbnb, Uber, Twitter (X), Discord, Slack, Dropbox, Tesla, GitHub — use React.
React on its own is a "UI library," and routing, SSR, and data fetching are layered on with separate libraries: Next.js, Remix, React Router, SWR, TanStack Query, and others. Since 2022, Meta's official documentation recommends using a full-stack framework like Next.js rather than React alone. The combination of React with Next.js has become the modern mainstream.
Competing options include Vue (released by Evan You in 2014, evolving its own way while taking inspiration from React), Svelte (compiler-based), and Solid.js (fine-grained reactivity), but React continues to lead the field thanks to the breadth of its ecosystem and the depth of real-world adoption.
Related Dictionary
React's JSX, components, Hooks, state management, and practical patterns are covered in detail in the React Dictionary.