// the find
kusti8/proton-native
A React environment for cross platform desktop apps
A React renderer that targets native desktop widgets (via Qt or wx bindings) instead of the DOM or Electron's Chromium, using the same component/API shape as React Native. It's for someone who wants React syntax and Redux-style state management for a lightweight native desktop app without shipping a whole browser.
Actually delivers on 'no Electron' — it renders through real native toolkit bindings (node-qt/node-wx), not a webview, so the resulting binaries are smaller and the UI isn't a browser tab. Uses Yoga for flexbox layout and ships a custom React reconciler, which is a legitimate way to reuse React's component model outside the DOM rather than a shallow wrapper. React Native API parity means existing knowledge and some existing RN-ecosystem code (Redux, etc.) carries over directly. Hot reloading is built in, which matters a lot for iterating on native UI where rebuilds are normally slow.
The README leads with the maintainer stepping away and pointing to a community fork (proton-nativejs/proton-native) — anyone starting fresh should be evaluating that fork, not this repo, and last push here is from January 2023. Native bindings for Qt/wx mean install reliability depends on system libraries and a working native build toolchain per platform, which is exactly the kind of fragility pure-JS/Electron approaches avoid. Test coverage is thin for a library bridging JS to two different native toolkits — one Window test file with image snapshots, no visible coverage of the component set. Docs are a docsify site with only a couple of per-component pages, not enough for the surface area of a full React Native-style component library.