nwjs/nw.js

Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 16 minutes ago
Added to GitGenius on August 31st, 2026
Created on January 4th, 2012
Open Issues & Pull Requests: 905 (+0)
Number of forks: 3,853
Total Stargazers: 41,161 (+0)
Total Subscribers: 1,541 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.8 days
Mean response time: 100.6 days
90th percentile: 245.2 days
Tracked items: 250

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "question" is answered fastest, typically in about 12 hours, while "has-min-repro" waits about 11 days. Only 6% of issues opened in the past year have been closed. Three people close 81% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 80
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,271 days
Stale 30+ days: 75
Stale 90+ days: 67

Recent activity

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

Top labels

  • bug (79)
  • has-min-repro (58)
  • feature-request (31)
  • question (19)
  • needinfo (13)
  • P2 (12)
  • triaged (12)
  • nw2 (10)

Detailed Description

NW.js is a desktop application runtime that combines Chromium and Node.js to let developers write native applications using HTML, CSS, JavaScript, and WebGL.

The tool solves the problem of building cross-platform desktop applications without learning platform-specific languages or frameworks. It works by embedding both a Chromium browser engine and a Node.js runtime in the same process, allowing direct calls to Node.js modules from DOM and WebWorker contexts. This shared-thread architecture means function calls between web code and Node.js are straightforward, with objects existing in the same heap and able to reference each other directly. Applications are packaged as self-contained bundles defined by a package.json file and an entry HTML file, making distribution straightforward across Linux, macOS, and Windows.

Developers should choose NW.js if they want to leverage existing web development skills and npm packages to build desktop applications without adopting a separate framework ecosystem. It suits projects where performance matters and where developers are comfortable with the web technology stack. The tool is particularly valuable for teams already invested in Node.js and JavaScript, as it eliminates the need to rewrite backend logic or learn Electron's process model. The README does not compare it to alternatives, so no comparative guidance can be offered.

The project maintains active development with regular releases tracking current versions of both Node.js and Chromium. The tool supports multiple CPU architectures including 64-bit and ARM64 builds on Linux, and provides both standard and SDK builds to accommodate different development needs. Documentation is comprehensive, covering application execution, packaging, distribution, and Node.js module integration through official docs and an active wiki. Community discussion occurs through a dedicated mailing list, indicating ongoing user engagement and support infrastructure.