跳转至正文

为 Flutter 贡献

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

Dash and her friends excited for your contribution

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

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

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

使用 Flutter 开发

#

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

提供反馈

#

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

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

  • Upvoting existing issues

    If you're experiencing an issue that has already been reported, consider upvoting it to help the Flutter team understand its importance.

    为现有 issue 点赞

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

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

  • Reporting new bugs

    报告新 bug

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

  • Requesting features

    请求功能

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

  • Partaking in surveys

    Occasionally, the Flutter team will run developer surveys and studies. To help understand pain points and improve the Flutter developer experience, consider responding with as much feedback and details as possible.

    参与调查

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

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

  • Discussing proposals

    Major changes to Flutter are often discussed through design documents. Consider reading and providing feedback on proposals that are relevant to you or your apps.

    讨论提案

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

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

  • Reviewing pull requests

    审查 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 packages

#

Flutter package

#

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

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

DevTools

#

DevTools

#

由于设置成本相对较低,为 Dart 与 Flutter DevTools 贡献是很好的入门方式。增强与修复可显著影响 Flutter 开发者的开发体验,也可能帮助你开发自己的应用。

入门请参阅 DevTools CONTRIBUTING.md 指南

站点基础设施

#

修复 bug、改进无障碍功能,或为 Dart 与 Flutter 网站添加功能。

若你熟悉 Web 开发或站点生成,为 Dart 与 Flutter 网站贡献可显著改善 Flutter 开发者的学习体验。

根据兴趣,你可能希望贡献于:

Dart SDK

#

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 标签,便于其他开发者发现你的内容。