跳到主要内容

社区指南

Wails 用户量正在以惊人的速度增长,如果您正在阅读本文,那么您很有可能已经准备好加入它。 那么……欢迎加入!

资源

行为准则

这份 行为准则 是一个易于发展我们所参与的技术社区的指南。

保持掌握最新消息

寻求帮助

  • GitHub - 如果您有要报告的错误或要请求的功能,这就是 GitHub Issue 的用途。 请遵守每个存储库的问题模板中指定的规则。
  • Discord - Wails 开发人员实时会面和聊天的地方。
  • QQ Group(中文) - 中文开发者交流的 Wails 群组,在这里你可以得到其他开发者的帮助。

探索生态系统

贡献方式

Wails 是一个开放源码、社区驱动的项目。 我们欢迎任何人加入我们 ,为该项目做出贡献。 此文档面向希望熟悉项目和开发过程的人。

有多种为该项目做出贡献的方式:

  • 开发新功能
  • 修复漏洞
  • 测试
  • 文档功能
  • 编写教程/指南
  • 在 issues 和 discussions boards 上帮助他人

这些指南已在各自的部分中创建。 在开始之前,请在 Contributing to Wails 讨论中介绍自己

开发新功能

我们总是热衷于为 Wails 添加功能并扩展项目的功能。 添加新功能的过程如下:

  • 选择 "TODO" 标签的增强(enhancement) Issue。 最好从当前的 待办列表 中选择一个,但选择权在你。
  • 在开发之前,请检查 Issue 是否包含以下信息:
    • 增强的目的
    • 增强的范围
    • 增强的目标平台 (大多数功能应该是跨平台的,除非有非常具体的理由)
  • 如果 Issue 没有包含此信息,请随时向打开 Issue 的 个人获取信息。 有时创建占位符 Issue ,需要更多详细信息
  • 对 Issue 发表评论,说明您是否希望开发该功能
  • 克隆仓库并使用 feature/<ticket_number>_<ticket_title> 格式创建一个分支
  • 新功能通常需要文档,因此请确保您还添加或更新了文档作为更新的一部分
  • 一旦功能准备好进行测试,请创建 PR 草案。 请确保 PR 描述中列出了带有复选框标记的测试场景和测试用例,以便其他人知道需要测试什么。
  • 完成所有测试后,请从草稿更新 PR 的状态并留言。
备注

没有什么可以阻止你自己开一个个 Issue,但是请注意,对改进请求进行审查,以确定是否合适。 并非所有的想法都会被选中,因此最好先对新功能讨论一下。

危险

任何没有相对应 Issue 的打开的 PR 可能会被拒绝。

修复漏洞

修复bug的流程如下:

  • 检查当前的 待办事项 并选择要修复的错误
  • 在开发之前,请检查 Issue 是否包含以下信息:
  • 问题的范围包括受影响的平台
  • 重现的步骤。 有时会打开不是Wails 问题的错误,报告者有责任用 最小的可重现示例 证明这是 Wails 问题
  • wails doctor 的输出
  • 一个可以重现错误的测试
  • 如果 Issue 没有包含此信息,请随时向打开 Issue 的人获取信息。
  • 对 Issue 发表评论,说明您希望开发修复程序
  • 克隆存储库并使用 bugfix/<ticket_number>_<ticket_title> 格式创建一个分支
  • 一旦修复准备好进行测试,请创建 PR 草案。 请确保 PR 描述中列出了带有复选框标记的测试场景和测试用例,以便其他人知道需要测试什么。
  • 完成所有测试后,请从草稿更新 PR 的状态并留言。
备注

没有什么可以阻止你自己开一个 Issue,但是请注意,应该讨论所有的错误修复,因为这种方法可能会产生意想不到的副作用。

危险

任何没有相对应 Issue 的打开的 PR 可能会被拒绝。

测试

测试对于确保项目的质量至关重要。 有几个场景可以让测试真正帮助项目:

  • 测试错误是否可在您的本地系统上重现
  • 测试 PR 以确保它们正常工作

如果您选择测试某人的错误报告是否可以在您的本地系统上重现,那么请随时带着 wails doctor 的输出在 Issue 上添加评论以确认这一点。

要测试 PR,请选择要测试的 PR,并检查 PR 描述是否列出了测试场景。 如果没有,请让打开 PR 的人提供该列表。 一旦你确定了一个有效的测试场景,请在 PR 上报告你的发现。

如果您需要更清晰的测试或测试帮助,请在 Contributing to Wails 讨论中或在 slack 上提问。

文档

这个网站也是该项目的主要文档网站。 有时这会过时,需要一些细微的调整。 一些文档也没有按照最佳标准编写。 开发文档很困难,因此非常感谢您对此做出的任何贡献。 没有文档的功能是未完成的,所以对于项目来说,它和代码 一样重要

我们通常不会为更新文档创建 Issue,因此如果有您认为应该更新或改写的文本,请随时为此提交 PR。 该站点位于 website 目录下的主存储库中。 我们使用 Docusaurus 创建网站,因此有大量现有的文档和教程可供您开始使用。

要设置本地文档开发环境,请执行以下操作:

全部安装并运行后,您应该会在 http://localhost:3000 看到。 对站点文本所做的任何更改都将立即反映在浏览器中。

版本控制

我们采用了一个版本控制系统,我们拥有“最新”文档又名“下一个版本”,其中包含自上次发布以来发生的所有更改。 我们还保留了最后一个发布文档以及之前的版本。

通常没有理由更新已发布的文档,因此我们不会更新 versioned_docsversioned_sidebars 目录中的文档。

“下一个版本”文档包含 website/docs 和以及src/pages 中一些版本无关的文档。 任何更新都应在 website/docs 目录中进行。

语言

Wails 项目的默认文档是英文文档。 我们使用“crowdin”工具将文件翻译成其他语言并同步到网站。 您可以 加入我们的项目 并提交您的翻译以做出贡献。

添加新语言

如果您想在文档中添加新语言,请 按照提示填写并提交问题。 得到维护者确认后,我们会将语言添加到“crowdin”中,然后您就可以提交翻译了。

帮助其他人

为项目做出贡献的一个重要途径是帮助遇到困难的其他人。 这通常在 Wails Discord 服务器上以票证或消息的形式报告。 即使只是澄清问题也能真正有所帮助。 有时,当一个问题被讨论并得到解决时,我们会根据它创建一个指南来帮助面临同样问题的其他人。

加入 Wails Discord 服务器,请点击 这里

备注

正在开发