preactjs/preact

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 50 minutes ago
Added to GitGenius on June 18th, 2022
Created on September 11th, 2015
Open Issues & Pull Requests: 41 (+1)
Number of forks: 2,045
Total Stargazers: 38,831 (+0)
Total Subscribers: 387 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 22.2 hours
Mean response time: 494.5 days
90th percentile: 1683.9 days
Tracked items: 331

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "question" is answered fastest, typically in under an hour, while "discussion" waits about 40 months. Only 9% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,542 days
Stale 30+ days: 11
Stale 90+ days: 11

Recent activity

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

Top labels

  • types (65)
  • feature request (63)
  • question (59)
  • bug (56)
  • compat (54)
  • discussion (44)
  • needs-more-info (28)
  • help wanted (26)

Most active issues this week

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'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.