We've added a new userland section to the Electron website to help users discover the people, packages, and apps that make up our flourishing open-source ecosystem.
Origins of Userland
Node and Electron
Like Node, Electron has a small set of core APIs. These provide the basic features needed for developing multi-platform desktop applications. This design philosophy allows Electron to remain a flexible tool without being overly prescriptive about how it should be used.
Userland is the counterpart to "core", enabling users to create and share tools that extend Electron's functionality.
To better understand the trends in our ecosystem, we
analyzed metadata from 15,000 public GitHub repositories
that depend on
We used the GitHub API, the libraries.io API, and the npm registry to gather info about dependencies, development dependencies, dependents, package authors, repo contributors, download counts, fork counts, stargazer counts, etc.
We then used this data to generate the following reports:
- App Development Dependencies: Packages most often listed as
devDependenciesin Electron apps.
- GitHub Contributors: GitHub users who have contributed to numerous Electron-related GitHub repositories.
- Package Dependencies: Electron-related npm packages that are frequently depended on by other npm packages.
- Starred Apps: Electron apps (that are not npm packages) with numerous stargazers.
- Most Downloaded Packages: Electron-related npm packages that are downloaded a lot.
- App Dependencies: Packages most often listed as
dependenciesin Electron apps.
- Package Authors: The most prolific authors of Electron-related npm packages.
Reports like app dependencies and starred apps which list packages, apps, and repos have a text input that can be used to filter the results.
As you type into this input, the URL of the page is updated dynamically. This allows you to copy a URL representing a particular slice of userland data, then share it with others.
More to come
This first set of reports is just the beginning. We will continue to collect data about how the community is building Electron, and will be adding new reports to the website.
All of the tools used to collect and display this data are open-source:
- electron/electronjs.org: The Electron website.
- electron/electron-userland-reports: Slices of data about packages, repos, and users in Electron userland.
- electron/repos-using-electron: All public repositories on GitHub that depend on
- electron/electron-npm-packages: All npm packages that mention
If you have ideas about how to improve these reports, please let us know opening an issue on the website repository or any of the above-mentioned repos.
Thanks to you, the Electron community, for making userland what it is today!