preact
by
preactjs

Description: ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.

View on GitHub ↗

Summary Information

Updated 40 minutes ago
Added to GitGenius on June 18th, 2022
Created on September 11th, 2015
Open Issues & Pull Requests: 151 (-1)
Number of forks: 2,044
Total Stargazers: 38,744 (+0)
Total Subscribers: 390 (+0)

Issue Activity (beta)

Open issues: 42
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,195 days
Stale 30+ days: 39
Stale 90+ days: 38

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 2

Top labels

  • types (64)
  • feature request (61)
  • question (58)
  • bug (56)
  • compat (50)
  • discussion (41)
  • needs-more-info (27)
  • help wanted (26)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 13.4 hours
Mean response time: 600.2 days
90th percentile: 1821.6 days
Tracked items: 323

Most active contributors

Detailed Description

Preact is a lightweight JavaScript framework that provides a fast alternative to React, packaged at 4kB in size. It delivers the full power of virtual DOM components and modern React-style APIs without the overhead associated with larger frameworks. The project is written in JavaScript and maintains a focus on performance optimization while preserving developer familiarity through React-compatible patterns.

The core functionality of Preact centers on component-based UI development using virtual DOM technology. Developers can write components as ES6 classes, functional components, or using React hooks, with support for JSX syntax or HTM as alternative markup approaches. The framework includes a highly optimized diff algorithm that minimizes DOM operations by calculating differences between component states and updating only what has changed. Preact also supports server-side rendering with seamless hydration, allowing applications to render on the server and continue interactively on the client.

Preact's compatibility layer, accessible via the preact/compat alias, provides extensive React compatibility, enabling developers to use existing React libraries and patterns with minimal friction. The framework includes comprehensive tooling support through DevTools integration, hot module replacement for development workflows, and transparent asynchronous rendering with a pluggable scheduler. All modern browsers are supported, and the framework works across isomorphic and custom element use cases.

The repository is currently in active development on the main branch, which represents an upcoming release, while the v10.x branch maintains patches for version 10. The project shows strong community engagement with 323 tracked issues and pull requests. Response latency across these items averages 13.4 hours at the median, indicating responsive maintainer activity. The most frequently discussed topics center on feature requests with 44 labeled items, type-related discussions with 40 items, and compatibility concerns with 26 items.

Core maintenance is driven by a small but active team. rschristian leads with 388 recorded events, followed by JoviDeCroock with 337 events and marvinhagemeister with 54 events. The project's contributor base overlaps with major repositories including Microsoft's VSCode and TypeScript implementations, as well as the Rust language project, suggesting influence from and collaboration with significant open-source ecosystems.

The framework is positioned as a performance-focused, modular architecture for building user interfaces with functional programming patterns. It emphasizes efficiency through its minimal bundle size while maintaining the developer experience patterns that React users expect. The project maintains an ecosystem of related libraries documented in the awesome-preact list and receives backing from notable sponsors including Snyk, The Guardian, Deno, and various individual contributors through its OpenCollective funding model.

preact
by
preactjspreactjs/preact

Repository Details

Fetching additional details & charts...