Methodology & Sources
Every figure on this site traces back to one of the following:
- Stack Overflow Developer Survey 2025 (~49,000 respondents) -- popularity/desired/admired figures.
- State of JS 2025 (2025.stateofjs.com) -- satisfaction/retention framing.
- js-framework-benchmark (Stefan Krause) and multiple independent 2026 bundle-size roundups -- React/Vue/Svelte/Angular gzip figures, given as ranges since sources vary.
- ARKlight's own repository (README.md, CHANGELOG.md, PROGRESS.md, docs/DESIGN-NOTES.md, docs/ARCHITECTURE.md) -- all architecture/feature claims.
- ARKlight bundle-size figures -- measured directly by building real pages with the alpha-branch compiler and running gzip -c arklight.js | wc -c.
How ARKlight's own numbers were measured
Two ARKlight pages were built with the alpha-branch compiler: one static page declaring no State(...), and one page using State/Bind/Action.increment. Each build's arklight.js was measured directly with wc -c for raw bytes and gzip -c | wc -c for gzipped bytes. These are not quoted from any third-party article.
A note on the published package
This site itself was built with the GitHub alpha branch (v0.043), not the released PyPI package (v0.42.0) -- the alpha branch has the head-metadata props (`Site.style()`, `og_image`, etc.) this page uses. While cross-checking version compatibility, installing the PyPI release into a clean venv surfaced something worth recording here rather than leaving unmentioned:
The PyPI package (0.42.0) enforces a one-time interactive license-acceptance gate on first CLI use, tied to GPLv3 Section 7 additional terms bundled in its LICENSE file. Those terms require conveyed copies of ARKlight's own source (or a work based on it) to keep a visible 'Based on ARKlight' / 'Powered by ARKlight' attribution, and require the attribution comment in ARKlight's own embedded runtime file (arklight.js) to stay intact. The terms are explicit that they do not apply to a site's own source or to the HTML/CSS output arklight build produces -- only to ARKlight's own code and runtime files.
This gate, and the additional-terms LICENSE text it enforces, is not mentioned anywhere in the alpha branch's README.md, CHANGELOG.md, PROGRESS.md, or docs/DESIGN-NOTES.md as of this build. It may be release-packaging-only, added after those docs were last written, or simply undocumented -- this site states what was directly observed, not which of those it is.
- Gate module
arklight/cli/license_gate.py- Skip for CI/scripted use
ARKLIGHT_ACCEPT_LICENSE=1- Acceptance recorded at
~/.arklight/license-accepted