跳转至正文

为 Flutter 贡献

了解如何为 Flutter 项目及其周边生态贡献。

Dash and her friends excited for your contribution

若你希望为 Flutter 项目及其周边生态贡献,我们欢迎你的帮助!

Flutter 是依赖社区贡献的开源项目。无论你是在修复 bug、提出新功能、改进文档,还是帮助社区中的其他人,你的努力都很有价值,我们深表感谢。

本页概览参与方式(非穷尽列表)。若你需要贡献方面的帮助或更多入门建议,可在 Flutter 贡献者 Discord 上联系。

使用 Flutter 开发

#

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

提供反馈

#

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

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

  • 为现有 issue 点赞

    若你遇到的问题已被报告,可考虑点赞以帮助 Flutter 团队了解其重要性。

    避免仅发表空的点赞、+1 或类似评论。不过,若有额外信息(如复现步骤或版本信息),请在新评论中提供。

  • 报告新 bug

    若遇到尚未报告的 Flutter bug,请附带复现信息 新建 issue

  • 请求功能

    若有你认为 Flutter 应添加但尚未被提出的功能,请附带所有相关信息与你的用例 新建 issue

  • 参与调查

    Flutter 团队偶尔会开展开发者调查与研究。为帮助了解痛点并改进开发者体验,请尽量提供详尽的反馈与细节。

    若要报名未来的 UX 研究,请访问 flutter.dev/research-signup

  • 讨论提案

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

    要查找当前设计文档与提案,请在 GitHub issue 数据库中查看 design doc 标签的 issue

  • 审查 pull request

    若你熟悉 Flutter 的某一领域,或某 issue 的解决方案对你很重要,可考虑审查开放的 pull request,在你的应用中试用,并提供相关反馈。

试用 beta 渠道

#

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

建议在 beta 渠道上测试版本,既用于日常开发,也用于检验与应用兼容性。

请将任何反馈或遇到的回归 报告给 Flutter 团队

入门请立即 切换beta 渠道,并处理任何 必要迁移

贡献代码

#

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

Flutter 框架

#

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

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

Flutter 引擎

#

有兴趣实现 Flutter 底层的原语与平台集成,或擅长图形编程?可考虑为 Flutter 引擎贡献,使 Flutter 更具可移植性、性能与能力。

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

Flutter package

#

为 Flutter 团队维护的第一方 package 贡献。第一方 package 为应用提供核心功能,并封装多种平台特定功能。

要了解如何为第一方 package 贡献,请参阅 Flutter 贡献指南 以及 package 专用的 贡献指南

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 文档

#

许多 Flutter 开发者在线上及其代码编辑器中大量依赖 API 文档。

无论你希望撰写新文档、更新现有文档、添加相关代码片段,还是创建图表等新视觉材料,你对 API 文档的贡献都会受到每位 Flutter 开发者的感谢。

入门请参阅 Flutter SDK 贡献指南,尤其是其中关于 API 文档 的部分。

文档网站

#

可考虑为本站点贡献,在开发者学习与探索 Flutter 时提供指引。

要了解如何为 Flutter 文档网站贡献,请参阅网站的 贡献文档

你也可以为 Dart 网站 贡献,增强构成 Flutter 基础的客户端优化语言的文档。要了解如何贡献,请参阅 dart-lang/site-www 贡献文档

分类 issue

#

通过分类 incoming 的 bug 报告与功能请求来帮助 Flutter 团队。

Flutter 的 issue 数据库 中有很多帮助方式,包括但不限于:

  • 判断 issue 是否有效

  • 确保可执行性

  • 记录受影响版本

  • 添加复现步骤

  • 识别重复或已解决的 issue

  • 解决或转接支持类问题

入门请阅读 在 issue 数据库中提供帮助,并了解 Flutter 对 issue 分类issue 规范 的做法。

强化 package 生态

#

帮助在 pub.dev 上发展并支持可用的 Dart 与 Flutter package 集合。

为你使用的 package 贡献

#

为所依赖的 package 回馈,并可能惠及你自己的应用:找到你依赖的 package 并为其贡献。

要为某个 package 贡献,请访问其在 pub.dev 站点 上的页面,并在页面侧边栏导航中找到链接的仓库。

贡献前请务必遵循各 package 的贡献指南、与维护者讨论你的贡献,并牢记 Flutter 的 行为准则

将应用中的可复用功能开源

#

若你在应用中构建了很棒的通用 widget 或工具,可考虑将其提取为 package 并发布到 pub.dev。

入门请学习 创建 Dart package开发 Flutter package。准备发布到 pub.dev 站点 时,请遵循 发布 package 指南与最佳实践。

#

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

创建新 package 前,请先在 pub.dev 站点 上查找可复用或贡献的现有封装。

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

若计划创建新 package,请学习 创建 Dart package开发 Flutter package。准备发布到 pub.dev 站点 时,请遵循 发布 package 指南与最佳实践。

支持社区

#

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

帮助其他开发者

#

分享你的 Flutter 知识与经验,帮助 fellow Flutter 开发者成功。

形式多种多样,从在公司内开设 Flutter 帮助频道,到在公共论坛回答问题。

Flutter 开发者常寻求帮助的场所包括:

举办活动

#

与其他 Flutter 爱好者联系,组织本地、全国乃至线上活动。活动形式多样,从学习小组、简单聚会,到工作坊与黑客松。

获取灵感与支持,可查看现有 Flutter 活动、了解更多 Flutter 社区 信息,并探索 Flutter Meetup Network

发布 Flutter 相关内容

#

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

分享 Flutter 并与开发者社区建立联系的方式无穷无尽。常见渠道包括:

  • 博客文章

  • 视频教程

  • 短文

  • 论坛帖子

  • GitHub 讨论

  • 链接聚合板块

发布你热衷的任何内容;若不确定发什么,可考虑开发者常问的主题。

若发布平台支持标签,可添加 #Flutter#FlutterDev 标签,便于其他开发者发现你的内容。