Skip to main content

Electron 用户空间

· 6 min read

我们在 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.


github-contributors

用户空间的起源

🌐 Origins of Userland

Userland 是软件社区中人们聚在一起分享工具和想法的地方。这个术语最早起源于 Unix 社区,指的是任何在内核之外运行的程序,但如今它的意义更加广泛。当今天的 JavaScript 社区中的人们提到 userland 时,他们通常指的是 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。这些 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

为了更好地了解我们生态系统中的趋势,我们分析了依赖 electronelectron-prebuilt 的 15,000 个公共 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 APIlibraries.io API以及 npm 注册表来收集关于依赖、开发依赖、依赖目、包作者、仓库贡献者、下载次数、派生次数、收藏次数等信息。

🌐 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 的包。
  • GitHub 贡献者:在众多与 Electron 相关的 GitHub 仓库中做出贡献的 GitHub 用户。
  • 软件包依赖:Electron 相关的 npm 软件包,其他 npm 软件包经常依赖它们。
  • 加星应用:拥有众多收藏者的 Electron 应用(非 npm 包)。
  • 最受欢迎的下载包:与 Electron 相关的 npm 包,下载量很高。
  • 应用依赖:在 Electron 应用中最常被列为 dependencies 的软件包。
  • 软件包作者:与 Electron 相关的 npm 包中最高产的作者。

过滤结果

🌐 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.

babel

更多内容即将推出

🌐 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:

如果你有关于如何改进这些报告的想法,请告知我们
在网站仓库中提交问题
或上述提到的任何仓库。

🌐 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!