Electron 用户空间
我们在 Electron 网站上添加了一个新的 userland 部分,以帮助用户发现构成我们蓬勃发展的开源生态系统的人员、软件包和应用。
¥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
Userland 是软件社区成员聚集在一起分享工具和创意的地方。该术语起源于 Unix 社区,当时它指的是任何在内核之外运行的程序,但如今它的含义更多。当今 JavaScript 社区的人们提到用户空间时,通常指的是 npm 包注册中心。大多数实验和创新都发生在这里,而 Node 和 JavaScript 语言(类似 Unix 内核)则保留了一组相对较小且稳定的核心功能。
¥Userland is where people in software communities come together to share tools and ideas. The term originated in the Unix community, where it referred to any program that ran outside of the kernel, but today it means something more. When people in today's Javascript community refer to userland, they're usually talking about the npm package registry. This is where the majority of experimentation and innovation happens, while Node and the JavaScript language (like the Unix kernel) retain a relatively small and stable set of core features.
Node 和 Electron
¥Node and Electron
与 Node 一样,Electron 也拥有少量核心 API。它们提供了开发多平台桌面应用所需的基本功能。这种设计理念使得 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 与 "core" 相对应,使用户能够创建和共享用于扩展 Electron 功能的工具。
¥Userland is the counterpart to "core", enabling users to create and share tools that extend Electron's functionality.
数据收集
¥Collecting data
为了更好地了解生态系统的趋势,我们分析了 15,000 个依赖 electron
或 electron-prebuilt
的公共 GitHub 仓库的元数据。
¥To better understand the trends in our ecosystem, we
analyzed metadata from 15,000 public GitHub repositories
that depend on electron
or electron-prebuilt
我们使用 GitHub API、libraries.io API 和 npm 注册表来收集有关依赖、开发依赖、依赖、软件包作者、代码库贡献者、下载次数、fork 次数、stargazer 次数等信息。
¥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:
-
应用开发依赖:在 Electron 应用中最常列为
devDependencies
的软件包。¥App Development Dependencies: Packages most often listed as
devDependencies
in Electron apps. -
GitHub 贡献者:GitHub 用户为众多 Electron 相关的 GitHub 代码库做出了贡献。
¥GitHub Contributors: GitHub users who have contributed to numerous Electron-related GitHub repositories.
-
软件包依赖:与 Electron 相关的、经常被其他 npm 软件包依赖的 npm 软件包。
¥Package Dependencies: Electron-related npm packages that are frequently depended on by other npm packages.
-
已加星标的应用:拥有众多 Stargazer 的 Electron 应用(非 npm 软件包)。
¥Starred Apps: Electron apps (that are not npm packages) with numerous stargazers.
-
下载次数最多的软件包:与 Electron 相关的、下载量很大的 npm 软件包。
¥Most Downloaded Packages: Electron-related npm packages that are downloaded a lot.
-
应用依赖:在 Electron 应用中最常列为
dependencies
的软件包。¥App Dependencies: Packages most often listed as
dependencies
in Electron apps. -
软件包作者:Electron 相关 npm 软件包的最多产作者。
¥Package Authors: The most prolific authors of Electron-related npm packages.
过滤结果
¥Filtering Results
列出软件包、应用和代码库的报告(例如 应用依赖 和 已加星标的应用)具有可用于筛选结果的文本输入框。
¥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.
当你在此输入框中输入内容时,页面的 URL 会动态更新。这允许你复制代表特定用户空间数据片段的 URL,然后与他人共享。
¥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
第一组报告仅仅是个开始。我们将继续收集社区构建 Electron 的数据,并将新的报告添加到网站。
¥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:Electron 网站。
¥electron/electronjs.org: The Electron website.
-
electron/electron-userland-reports:Electron 用户空间中有关软件包、代码库和用户的数据切片。
¥electron/electron-userland-reports: Slices of data about packages, repos, and users in Electron userland.
-
electron/repos-using-electron:GitHub 上所有依赖
electron
或electron-prebuilt
的公共仓库¥electron/repos-using-electron: All public repositories on GitHub that depend on
electron
orelectron-prebuilt
-
electron/electron-npm-packages:所有在其
package.json
文件中提及electron
的 npm 软件包。¥electron/electron-npm-packages: All npm packages that mention
electron
in theirpackage.json
file.
如果你对如何改进这些报告有任何想法,请通过 在网站代码库中提交问题 或上述任何代码库告知我们。
¥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.
感谢 Electron 社区,是你们成就了今天的用户空间!
¥Thanks to you, the Electron community, for making userland what it is today!