Dash and her friends excited for your contribution

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

Flutter 是一个开源项目,依靠社区贡献而蓬勃发展。无论您是修复 Bug、提出新功能、改进文档,还是帮助社区中的其他人,您的努力都非常宝贵并受到赞赏。

本页提供了您可以参与贡献的非详尽概述。如果您在贡献时需要帮助,或者希望获得更多入门建议,请考虑在 Flutter 贡献者 Discord 上联系我们。

使用 Flutter 开发

#

即使只是使用 Flutter 并提供反馈,也是一种宝贵的贡献!

提供反馈

#

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

您可以通过多种途径提供宝贵反馈,包括

  • 为现有问题投票

    如果您遇到的问题已经报告过,请考虑为其投票,以帮助 Flutter 团队了解其重要性。

    避免发布仅包含点赞、+1 或类似内容的空评论。但是,如果您有额外的详细信息,例如重现步骤或补充版本信息,请考虑在新的评论中提供这些细节。

  • 报告新 Bug

    如果您在使用 Flutter 时遇到尚未报告的 Bug,请提出一个新问题并提供重现信息。

  • 请求新功能

    如果您认为 Flutter 应该添加或实现某个功能但尚未被提出,请提出一个新问题,并提供所有相关信息以及您的用例。

  • 参与调查

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

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

  • 讨论提案

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

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

  • 审查拉取请求

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

试用 Beta 版通道

#

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

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

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

立即开始,切换beta 通道,并考虑任何必要的迁移

贡献代码

#

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

Flutter 框架

#

在内置组件中发现 Bug,对新组件有想法,喜欢添加测试,或者只是对 Flutter 内部结构感兴趣?请考虑为 Flutter 框架本身做贡献,并为每个人改进 Flutter 的核心。

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

Flutter 引擎

#

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

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

Flutter 包

#

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

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

DevTools

#

Dart 和 Flutter DevTools 做贡献是一个很好的起点,因为它设置成本相对较低。增强和修复可以极大地影响 Flutter 开发者的体验,也许还能帮助您开发自己的应用程序。

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

站点基础设施

#

修复 Bug、改善可访问性或为 Dart 和 Flutter 网站添加功能。

如果您熟悉 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 的行为准则

开源您应用程序中的可复用功能

#

如果您在应用程序中构建了一个很酷的通用小部件或实用工具,请考虑将其提取为一个包并发布到 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 标签,以帮助其他开发者找到您的内容。