React
React is an open-source JavaScript library for building declarative user interfaces from reusable components, emphasizing efficiency through a virtual DOM that minimizes direct manipulations of the browser's DOM tree.[1] Developed internally by engineers at Facebook (now Meta) to address challenges in maintaining complex UIs for its platform, React enables the creation of interactive web and native applications via a component-based architecture that promotes modularity and state-driven rendering.[2] Key features include JSX for blending HTML-like syntax with JavaScript, hooks such asuseState for managing component state without classes, and compatibility with extensions like React Native for mobile development and frameworks such as Next.js for server-side rendering.[2] First publicly released in 2013 after internal prototyping, React has evolved through major versions, including React 18 in 2022 with concurrent rendering improvements and React 19 in 2024 adding async transition support, all rigorously tested on Meta's production scale serving billions of users.[3][4] Its adoption is extensive, powering interfaces for Meta's products, Netflix, Airbnb, and others, with over 20 million weekly downloads of its core package as of late 2024 and usage on millions of websites globally.[5] While praised for enabling scalable, performant UIs via first-principles like unidirectional data flow, React has drawn criticism for fostering ecosystem bloat, steep learning curves due to its paradigm shift from imperative to declarative programming, and over-engineering simple applications, contributing to broader "frontend fatigue" in JavaScript development.[6] Maintained by Meta's team with community contributions, React's design prioritizes long-term stability through semantic versioning and experimental channels, though frequent paradigm shifts like the introduction of hooks in 2018 have required significant code migrations for users.[7]
Computing
React (JavaScript library)
React is an open-source JavaScript library designed for constructing user interfaces, particularly for web applications, through a declarative, component-based paradigm that emphasizes reusable UI elements.[2] It enables developers to create interactive views by composing components—self-contained pieces of code akin to JavaScript functions that accept inputs (props) and output rendered elements—facilitating efficient management of application state and dynamic updates without manual DOM manipulation.[1] Maintained primarily by Meta Platforms (formerly Facebook) under an MIT license, React powers interfaces for high-traffic sites including Facebook, Instagram, Netflix, and Airbnb, leveraging its virtual DOM to minimize re-renders by diffing changes and applying only necessary updates to the real DOM.[8] The library originated internally at Facebook in 2011, when engineer Jordan Walke developed it to address scalability issues in rendering complex, dynamic feeds like the news feed, drawing inspiration from XHP (an HTML component framework for PHP) to embed markup-like syntax within JavaScript.[8] It was first deployed on Facebook's search results page in mid-2012 and expanded to the news feed shortly after, proving effective in handling frequent UI updates at scale.[9] React was publicly announced and open-sourced at JSConf US on May 29, 2013, with version 0.3.0 marking its initial release; subsequent milestones include version 1.0 in 2014 for stabilization, the introduction of hooks in 16.8 (February 2019) for functional component state management without classes, and concurrent rendering features in 18.0 (March 2022) to support non-blocking updates.[8] As of October 2025, the latest stable release is 19.2.0, incorporating enhancements like improved server components and a beta compiler for automatic memoization to reduce boilerplate and optimize performance.[10] Core to React's architecture is the virtual DOM, a lightweight in-memory representation of the real DOM that allows batching and reconciling changes efficiently, resulting in measurable performance gains for large-scale applications compared to direct manipulation libraries like jQuery prevalent in the early 2010s.[11] It supports JSX, a syntax extension transpiled to JavaScript function calls, enabling developers to write HTML-like structures inline (e.g.,<div>Hello {name}</div>), which promotes readability while maintaining JavaScript's flexibility for logic integration.[12] Data flows unidirectionally from parent to child components via props, with state managed locally or through external libraries like Redux for global concerns, enforcing predictability and easing debugging.[13]
React's ecosystem extends beyond core UI rendering via companion tools: React Router for client-side navigation, Next.js for server-side rendering and static generation, and React Native (released 2015) for cross-platform mobile apps sharing code with web versions.[8] Adoption remains dominant, with surveys indicating over 40% of professional frontend developers using it as their primary framework in 2025, powering approximately 1.3 million websites and ranking second in developer preference behind none in web UI libraries.[14] [15] Its prevalence stems from empirical advantages in developer productivity and runtime efficiency, though critics note a learning curve for hooks and ecosystem fragmentation, yet billions of lines of production code underscore its entrenched role in modern web development.[16]