Electron 用户区
我们在 Electron 网站上添加了一个新的 userland 部分,以帮助用户发现构成我们蓬勃发展的开源生态系统的人员、软件包和应用程序。
Userland 的起源
Userland 是软件社区中的人们聚集在一起分享工具和想法的地方。 该术语起源于 Unix 社区,它指的是在内核之外运行的任何程序,但今天它的含义更多。 当今 Javascript 社区中的人们提到 userland 时,他们通常指的是 npm 包注册表。 这是发生大多数实验和创新,而 Node 和 JavaScript 语言(如 Unix 内核)保留了一组相对较小且稳定的核心功能。
Node 和 Electron
与 Node 一样,Electron 具有一小部分核心 API。 这些提供了开发多平台桌面应用程序所需的基本功能。 这种设计理念使 Electron 保持灵活的工具,而不会对它的使用方式过于规范。
Userland 是“核心”的对应物,使用户能够创建和共享扩展 Electron 功能的工具。
收集数据
为了更好地了解我们生态系统中的趋势,我们分析了来自 15,000 个公共 GitHub 存储库的元数据,这些存储库依赖于 electron
或 electron-prebuilt
我们使用了 GitHub API、libraries.io API 和 npm 注册表来收集有关依赖项、开发依赖项、依赖项、包作者、repo 贡献者、下载计数、fork 计数、stargazer 计数等的信息。
然后,我们使用这些数据生成以下报告
- App 开发依赖项:Electron 应用程序中最常列为
devDependencies
的包。 - GitHub 贡献者:为众多与 Electron 相关的 GitHub 存储库做出贡献的 GitHub 用户。
- Package 依赖项:其他 npm 包经常依赖的与 Electron 相关的 npm 包。
- 加星应用:具有众多 stargazers 的 Electron 应用程序(不是 npm 包)。
- 下载最多的包:下载次数很多的与 Electron 相关的 npm 包。
- App 依赖项:Electron 应用程序中最常列为
dependencies
的包。 - Package 作者:与 Electron 相关的 npm 包最多产的作者。
过滤结果
诸如 app 依赖项 和 加星应用之类的报告,列出了包、应用程序和 repos,它们具有可用于过滤结果的文本输入。
当您键入此输入时,页面的 URL 会动态更新。 这使您可以复制表示特定 userland 数据切片的 URL,然后与他人共享。
更多即将推出
第一组报告仅仅是个开始。 我们将继续收集有关社区如何构建 Electron 的数据,并将向网站添加新报告。
用于收集和显示此数据的所有工具都是开源的
- electron/electronjs.org:Electron 网站。
- electron/electron-userland-reports:有关 Electron userland 中包、repos 和用户的数据切片。
- electron/repos-using-electron:GitHub 上所有依赖于
electron
或electron-prebuilt
的公共存储库 - electron/electron-npm-packages:在其
package.json
文件中提到electron
的所有 npm 包。
如果您对如何改进这些报告有任何想法,请通过 在网站存储库上打开一个 issue 或上述任何存储库来告知我们。
感谢您,Electron 社区,感谢您使 userland 成为今天的样子!