谷歌2025年夏季编码计划
Electron 再次被接受为 2025 年 Google 夏季编程(GSoC)的指导组织! Google 夏季编程是一个全球性项目,旨在吸引新的贡献者参与开源软件开发。
🌐 Electron has once again been accepted as a mentoring organization for Google Summer of Code (GSoC) 2025! Google Summer of Code is a global program focused on bringing new contributors into open source software development.
有关该项目的更多详情,请访问 Google 的 夏季编程计划主页。
🌐 For more details about the program, visit Google’s Summer of Code homepage.
关于我们
🌐 About us
Electron 是一个 JavaScript 框架,用于使用网页技术构建跨平台桌面应用。核心的 Electron 框架是一个使用 Chromium 和 Node.js 构建的编译二进制可执行文件,并且主要用 C++ 编写。
🌐 Electron is a JavaScript framework for building cross-platform desktop applications using web technologies. The core Electron framework is a compiled binary executable built with Chromium and Node.js, and is mostly written in C++.
除了 Electron 核心代码库之外,我们还维护着几个支持 Electron 生态系统的项目,包括:
🌐 Outside of the Electron core repository, we also maintain several projects to support the Electron ecosystem, including:
- 面向终端用户分发的工具(例如 Electron Forge 和 update.electronjs.org)。
- 针对 Electron 开发者的学习资料(例如 electronjs.org 和 Electron Fiddle)。
- 用于提升开发者生产力的内部工具(例如 Electron Build Tools 和 Sheriff)。
作为 GSoC 贡献者,你将有机会与 Electron 的一些核心贡献者合作,参与 github.com/electron 旗下的众多项目之一。
🌐 As a GSoC contributor, you will have the opportunity to collaborate with some of Electron’s core contributors on one of many projects under the github.com/electron umbrella.
应用前
🌐 Before applying
如果你对 Electron 不是很熟悉,我们建议你先阅读文档,并尝试一些Electron Fiddle中的示例。
🌐 If you aren’t very familiar with Electron, we would recommend you start by reading the documentation and trying out some of the examples in Electron Fiddle.
要了解更多关于分发 Electron 应用的信息,可以尝试使用 Electron Forge 创建一个示例应用:
🌐 To learn more about distributing Electron apps, try creating a sample application with Electron Forge:
npm init electron-app@latest my-app
在稍微熟悉了代码之后,来加入 Electron Discord 服务器 上的讨论吧。
🌐 After familiarizing yourself with the code a bit, come join the conversation on the Electron Discord server.
如果这是你第一次参加 Google Summer of Code,或如果你对开源项目总体来说是新手,我们建议在与社区互动之前阅读 Google 的 贡献者指南。
🌐 If this is your first time participating in Google Summer of Code or if you’re new to open source in general, we recommend reading Google’s Contributor Guide before engaging with the community.
项目贡献
🌐 Project contributions
我们鼓励你查看与你感兴趣的项目想法相关的任何代码库。进行研究的一种方式是通过报告错误、分类现有问题或提交拉取请求来做出贡献。这样做是获取我们代码库实践经验的有效方法,但提交提案并非强制要求。一个精心撰写的提案应该能够展示你对代码的理解,而无需参考以往的贡献。
🌐 We encourage you to take a look at any repositories that are relevant to the project ideas you are interested in. One way of doing your research is to make contributions by reporting bugs, triaging existing issues, or submitting pull requests. Doing so is an effective way of getting hands-on practice with our codebases, but is not mandatory for proposal submissions. A well-crafted proposal should be able to demonstrate your understanding of the code without needing to refer to past contributions.
如果你打算在提交提案之前为 Electron 做贡献,这里有一些小建议:
🌐 Here are a few tips if you are looking to contribute to Electron before submitting your proposal:
- 在提交贡献时,请提供详细的问题或拉取请求描述。无论代码本身如何,对贡献的书面部分投入精力,都能向我们展示你在协作环境中是一个有效的沟通者。
- 对于开放的问题,我们一直欢迎提交 PR。你不需要评论某个问题来询问维护者是否可以被分配给你。请注意,如果你需要完善解决方案的想法,我们仍然鼓励你在问题上讨论潜在的解决方案,但仅仅询问是否可以处理某件事的评论是多余的,会增加问题追踪器的噪音。
- 低投入的项目贡献(例如无效的问题报告、仓库 README 中微不足道的措辞修改,或前端代码的轻微样式更改)会对你的最终提案产生负面影响,因为它们占用有限的维护者时间,并且对 Electron 项目没有任何净收益。
- 虽然 AI 编程助手可以成为调试和理解新概念的有效工具,但我们强烈不建议直接复制/粘贴 AI 生成的内容作为贡献。这类内容往往质量较低,而且维护者清理由大语言模型生成的代码通常比我们直接拒绝一个 PR 要费更多力气。
制定你的提案
🌐 Crafting your proposal
有兴趣与 Electron 合作吗?首先,查看我们准备的七个项目创意草案。所有列出的创意都开放接受提案。
🌐 Interested in collaborating with Electron? First, check out the seven project idea drafts we have prepared. All listed ideas are open for proposals.
如果你有列表中没有的独特想法,我们愿意考虑,但请确保你的提案详细且全面说明。如有疑问,我们建议遵循我们列出的创意。
🌐 If you have a unique idea not on the list, we are open to considering it, but ensure your proposal is detailed and thoroughly outlined. When in doubt, we recommend sticking with our listed ideas.
你的应用应包含:
🌐 Your application should include:
- 一份详细的提案,概述了你计划在夏季实现的目标。
- 作为开发者的背景。如果你有简历,请附上副本。否则,请告诉我们你过去的技术经验。
- 在某些字段缺乏经验并不会让你失去资格,但这将帮助我们的导师制定一个计划,以最好地支持你,并确保你的暑期项目取得成功。
有关作为 Electron 应用提交内容的详细指南请参阅此处。请直接将提案提交到 Google Summer of Code 门户。通过电子邮件发送给 Electron 团队的提案将不被视为最终提交。
关于你的提案的更多指导,我们建议你遵循此处的官方 Google 夏季编码提案撰写建议。
🌐 For more guidance on your proposal, we recommend you follow the official Google Summer of Code proposal writing advice here.
申请于2025年3月24日开始,2025年4月8日截止。
🌐 Applications open on March 24th, 2025 and close on April 8th, 2025.
📚 对于 2024 年 GSoC,[@piotrpdev],他致力于在 Electron 核心文档中添加 API 历史记录。想了解 Piotr 在 Electron 的暑期项目中做了哪些工作,请在 2024 GSoC 项目档案 中阅读他的报告。
🔐 在 GSoC 2022 中,[@aryanshridhar] 致力于在 Electron Fiddle 中启用上下文隔离。如果你想了解 Aryan 在与 Electron 一起度过的夏天中做了什么工作,可以阅读他在 2022 GSoC 项目档案 中的报告。
有问题吗?
🌐 Questions?
如果你有我们在这篇博客文章中未涉及的问题,或关于你的提案草稿的咨询,请发送电子邮件至 summer-of-code@electronjs.org 或查看 GSoC 常见问题。在发送电子邮件之前,请阅读 我们的贡献者指南。
🌐 If you have questions we didn’t address in this blog post or inquiries about your proposal draft, please send us an email at summer-of-code@electronjs.org or check the GSoC FAQ. Please read our contributor guidance before emailing.
资源
🌐 Resources
