Electron 用户社区
我们在 Electron 网站上新增了一个 用户区(userland)部分,旨在帮助用户发现构成我们蓬勃发展的开源生态系统的开发者、软件包和应用程序。
用户区的起源
用户空间(Userland)是软件社区成员汇聚一堂分享工具和想法的地方。这个词起源于 Unix 社区,当时指的是任何在内核之外运行的程序,但如今它有了更广泛的含义。当当今的 JavaScript 社区提到用户空间时,他们通常指的是 npm 包注册表。这就是大部分实验和创新发生的地方,而 Node 和 JavaScript 语言(就像 Unix 内核一样)则保留了一套相对小而稳定的核心功能。
Node 和 Electron
与 Node 类似,Electron 也有一个小的核心 API 集。它们提供了开发跨平台桌面应用程序所需的基本功能。这种设计理念使得 Electron 能够保持作为一个灵活的工具,而不必对如何使用它做出过度规定。
用户区是“核心”的对应部分,使用户能够创建和共享扩展 Electron 功能的工具。
数据收集
为了更好地了解我们生态系统的趋势,我们分析了 15,000 个依赖于 `electron` 或 `electron-prebuilt` 的公共 GitHub 存储库的元数据。
我们使用了 GitHub API、libraries.io API 和 npm 注册表来收集关于依赖项、开发依赖项、依赖者、包作者、仓库贡献者、下载量、fork 数、star 数等信息。
然后,我们使用这些数据生成了以下报告:
- 应用程序开发依赖项:在 Electron 应用程序中作为 `devDependencies` 最常列出的包。
- GitHub 贡献者:为众多 Electron 相关 GitHub 存储库做出贡献的 GitHub 用户。
- 包依赖项:被其他 npm 包频繁依赖的 Electron 相关 npm 包。
- 收藏的应用程序:拥有大量 Stargazer 的 Electron 应用程序(非 npm 包)。
- 下载最多的包:被大量下载的 Electron 相关 npm 包。
- 应用程序依赖项:在 Electron 应用程序中作为 `dependencies` 最常列出的包。
- 包作者:Electron 相关 npm 包中最多产的作者。
过滤结果
像 应用依赖项 和 星标应用 这样的报告,其中列出了包、应用和仓库,都有一个文本输入框,可以用来过滤结果。
当您在该输入框中键入时,页面的 URL 会动态更新。这使您可以复制代表特定用户区数据切片的 URL,然后与他人共享。
更多内容敬请期待
这一系列初步报告仅仅是个开始。我们将继续收集有关社区如何构建 Electron 的数据,并将添加新的报告到网站上。
用于收集和显示这些数据的所有工具都是开源的:
- electron/electronjs.org:Electron 网站。
- electron/electron-userland-reports:关于 Electron 用户区中的包、存储库和用户的切片数据。
- electron/repos-using-electron:GitHub 上所有依赖于 `electron` 或 `electron-prebuilt` 的公共存储库。
- electron/electron-npm-packages:在 `package.json` 文件中提及 `electron` 的所有 npm 包。
如果您对如何改进这些报告有任何想法,请通过 在网站仓库中开启一个 issue 或上述任何一个仓库提出,让我们知道。
感谢您,Electron 社区,成就了今天的用户区!