Dash and her friends excited for your contribution

如果您希望为 Flutter 项目及其周边生态系统做出贡献,我们非常欢迎您的帮助!

Flutter 是一个蓬勃发展的开源项目,离不开社区的贡献。无论您是修复 bug、提出新功能、改进文档,还是在社区中帮助他人,您的努力都非常有价值且备受赞赏。

本页面提供了如何参与的非详尽概述。如果您在贡献方面需要帮助,或想获得更多入门建议,请考虑加入 Flutter 贡献者 Discord

使用 Flutter 开发

#

即使只是使用 Flutter 并提供反馈,也是一项有价值的贡献!

提供反馈

#

分享您的反馈和经验有助于 Flutter 团队了解并优先处理开发者的需求和痛点。

您可以通过多种途径提供有价值的反馈,包括

  • 点赞现有问题

    如果您遇到一个已报告的问题,请点赞以帮助 Flutter 团队了解其重要性。

    避免仅留下“thumbs up”、“+1”或类似的评论。但是,如果您有其他信息,例如重现步骤或额外的版本信息,请考虑在新的评论中提供这些详细信息。

  • 报告新 bug

    如果您在使用 Flutter 时遇到尚未报告的 bug,请 提交新问题 并附上重现信息。

  • 请求功能

    如果您认为 Flutter 应该添加或实现某个功能但尚未有人提出,请 提交新问题 并附上所有相关信息以及您的使用场景。

  • 参与调查

    Flutter 团队会不定期进行开发者调查和研究。为了帮助了解痛点并改进 Flutter 的开发者体验,请尽可能详细地提供反馈和信息。

    要注册参加未来的用户体验研究,请访问 flutter.dev/research-signup

  • 讨论提案

    Flutter 的重大更改通常通过 设计文档 进行讨论。请考虑阅读并对与您或您的应用相关的提案提供反馈。

    要查找当前的设计文档和提案,请查看 GitHub 问题数据库中带有 design doc 标签的 问题

  • 审查拉取请求

    如果您熟悉 Flutter 的某个特定领域,或者某个问题的解决方案对您很重要,请考虑审查开放的拉取请求,在您的应用中进行测试,并提供任何相关反馈。

试用 beta 版本通道

#

为了帮助确保 Flutter 的稳定性和改进即将推出的功能,请在它们到达稳定通道之前帮助测试即将发布的版本。

请考虑在 beta 通道上测试发布版本,无论是用于一般开发还是用于测试与您的应用的兼容性。

您遇到的任何反馈或回归问题,请务必 报告 给 Flutter 团队。

要开始,请立即 切换beta 通道,并处理任何 必要的迁移

贡献代码

#

直接改进 Flutter 的代码库及相关工具。

Flutter 框架

#

发现内置 widget 的 bug、有新 widget 的想法、喜欢添加测试,还是仅仅对 Flutter 的内部机制感兴趣?考虑为 Flutter 框架本身做出贡献,为所有人改进 Flutter 的核心。

要了解如何为 Flutter 框架贡献,请查阅 Flutter 的 贡献指南

Flutter 引擎

#

对实现 Flutter 底层的原生 SDK 和平台集成感兴趣,或者擅长图形编程?考虑为 Flutter 引擎做出贡献,让 Flutter 更加便携、高性能和强大。

要了解如何为 Flutter 引擎贡献,请查阅 Flutter 的 贡献指南 以及如何 设置引擎开发环境

Flutter 包

#

为 Flutter 团队维护的一方包做出贡献。一方包为应用提供基本功能,并封装了各种特定于平台的 P功能。

要了解如何为一方包贡献,请查阅 Flutter 的 贡献指南 以及特定于包的 贡献指南

DevTools

#

Dart 和 Flutter DevTools 贡献是一个不错的入门选择,因为它设置相对简单。改进和修复可以极大地影响 Flutter 开发者的开发体验,并可能帮助您开发自己的应用。

要开始,请查阅 DevTools CONTRIBUTING.md 指南

站点基础设施

#

修复 Dart 和 Flutter 网站的 bug、改进可访问性或添加功能。

如果您熟悉 Web 开发或网站生成,为 Dart 和 Flutter 网站贡献可以成为改进 Flutter 开发者学习体验的绝佳途径。

根据您的兴趣,您可能想贡献于

Dart SDK

#

为 Dart 语言及周边工具链做出贡献,改进构成 Flutter 卓越开发体验基础的客户端优化语言。

Dart 的贡献工作流程略有不同,如果您感兴趣,请务必查阅其 贡献构建 指南。

代码示例

#

改进或添加演示 Flutter 功能的示例,帮助那些偏好通过示例学习的开发者。

您可以随时分享自己的示例或模板,或者为 Flutter 维护的示例做出贡献

编写文档

#

为 Flutter 文档做出贡献,无论形式如何,都是您能帮助 Flutter 最有影响力的方式之一。

Flutter API 文档

#

API 文档被许多 Flutter 开发者广泛依赖,无论是在线还是在他们的代码编辑器中。

无论您是想编写新文档、更新现有文档、添加相关的代码片段,还是创建新的可视化内容(如图表),您对 API 文档的贡献都将受到每一位 Flutter 开发者的赞赏。

要开始,请查阅 Flutter SDK 贡献指南,特别是其关于 API 文档 的部分。

文档网站

#

考虑为这个网站本身做出贡献,为学习和探索 Flutter 的开发者提供指导。

要了解如何为 Flutter 文档网站做出贡献,请查阅该网站的 贡献文档

您还可以为 Dart 网站 做出贡献,改进构成 Flutter 基础的客户端优化语言的文档。要了解如何贡献,请查阅 dart-lang/site-www 贡献文档

分类处理问题

#

通过分类处理收到的 bug 报告和功能请求来帮助 Flutter 团队。

Flutter 的问题数据库 中有很多可以提供帮助的方式,包括但不限于

  • 确定问题的有效性
  • 确保可操作性
  • 记录受影响的版本
  • 添加重现步骤
  • 识别重复或已解决的问题
  • 解决或重定向支持查询

要开始帮助处理问题,请阅读关于 在问题数据库中提供帮助 的内容,并了解 Flutter 在 问题分类问题维护 方面的做法。

加强包生态系统

#

帮助在 pub.dev 上增长和支持 Dart 和 Flutter 包的集合。

贡献您使用的包

#

回馈您所依赖的包,甚至可能帮助您自己的应用,找到您依赖的包并回馈它们。

要贡献一个包,请在 pub.dev 网站 上导航到其页面,并在页面侧边导航中找到链接的代码库。

在贡献之前,请务必遵循每个包的贡献指南,与维护者讨论您的贡献,并牢记 Flutter 的 行为准则

从您的应用中开源可重用功能

#

如果您在应用中构建了一个很酷的通用 widget 或工具,请考虑将其提取到一个包中并发布到 pub.dev。

要开始,请了解 创建 Dart 包开发 Flutter 包。然后,当您准备将包发布到 pub.dev 网站 时,请遵循 发布包 上的指南和最佳实践。

#

创建或贡献封装原生 SDK 或 Web API 的包。

在创建新包之前,请先尝试在 pub.dev 网站 上查找您可以使用的或可以贡献的现有封装。

根据 SDK 和平台,您可能需要 编写特定于平台的代码,使用 JS 互操作,使用 package:http 封装 REST API,或用 Dart 重新实现所需的功能。

如果您计划创建新包,请了解 创建 Dart 包开发 Flutter 包。然后,当您准备将包发布到 pub.dev 网站 时,请遵循 发布包 上的指南和最佳实践。

支持社区

#

帮助其他开发者学习 Flutter,并在他们构建自己的应用时取得成功。

帮助其他开发者

#

分享您的 Flutter 知识和专业技能,帮助您的 Flutter 同行取得成功。

这可以有很多形式,从在您的公司中启动一个 Flutter 帮助频道到在公共论坛上回答问题。

Flutter 开发者寻找帮助的一些常见地点包括

举办活动

#

与其他 Flutter 爱好者联系,并组织本地、国家甚至虚拟活动。活动可以是任何形式,从学习小组和简单的聚会,到研讨会和黑客马拉松。

为了获得灵感和支持,请查看现有的 Flutter 活动,了解更多关于 Flutter 社区 的信息,并探索 Flutter Meetup Network

发布关于 Flutter 的内容

#

与更广泛的 Flutter 社区分享您的见解和项目。

分享关于 Flutter 和连接开发者社区的选择无穷无尽。一些常见的渠道包括

  • 博客文章
  • 视频教程
  • 短篇帖子
  • 论坛主题
  • GitHub 讨论
  • 链接聚合板

发布或分享您热衷的内容,但如果您不确定要发布什么,可以考虑发布开发者经常询问的话题。

如果您发布内容的平台支持标签,可以考虑添加 #Flutter#FlutterDev 标签,以帮助其他开发者找到您的内容。