跳到主内容

贡献给 Flutter

了解如何为 Flutter 项目及其周围的生态系统做出贡献。

Dash and her friends excited for your contribution

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

Flutter 是一个开源项目,它依赖于社区贡献蓬勃发展。无论您是修复错误、提出新功能、改进文档还是帮助社区中的其他人,您的努力都很有价值,并且备受赞赏。

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

使用 Flutter 开发

#

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

提供反馈

#

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

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

  • 投票支持现有问题

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

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

  • 报告新错误

    如果您遇到 Flutter 中的错误但尚未报告,请 打开一个新问题,并提供重现信息。

  • 请求功能

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

  • 参与调查

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

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

  • 讨论提案

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

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

  • 审查拉取请求

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

试用 Beta 版渠道

#

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

请考虑测试 beta 渠道中的版本,用于通用开发和测试与您的应用的兼容性。

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

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

贡献代码

#

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

Flutter 框架

#

发现内置小部件中的错误,有一个新小部件的想法,喜欢添加测试,或者只是对 Flutter 的内部结构感兴趣?请考虑为 Flutter 框架本身做出贡献,并改进 Flutter 的核心功能,供所有人使用。

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

Flutter 引擎

#

如果您有兴趣实现 Flutter 底层的基础设施和平台集成,或者擅长图形编程,请考虑为 Flutter 引擎做出贡献,使 Flutter 更加可移植、高性能和强大。

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

Flutter 包

#

贡献由 Flutter 团队维护的第三方包。第三方包为应用提供基本功能,并封装各种平台特定功能。

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

DevTools

#

Dart 和 Flutter DevTools 做出贡献是一个很好的起点,因为它设置相对简单。增强和修复可以极大地影响 Flutter 开发者的体验,并可能帮助您开发自己的应用。

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

站点基础设施

#

修复错误、提高可访问性或为 Dart 和 Flutter 网站添加功能。

如果您熟悉 Web 开发或站点生成,为 Dart 和 Flutter 网站做出贡献可以很好地改善 Flutter 开发者的学习体验。

根据您的兴趣,您可能希望贡献

Dart SDK

#

为 Dart 语言和周围的工具做出贡献,改进为 Flutter 卓越的开发者体验奠定基础的客户端优化语言。

Dart 的贡献流程略有不同,因此如果您有兴趣,请务必查看其 贡献构建 指南。

代码示例

#

改进或添加演示 Flutter 功能的示例,帮助更喜欢通过示例学习的开发者。

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

编写文档

#

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

Flutter API 文档

#

API 文档被许多 Flutter 开发者广泛使用,在线上和他们的代码编辑器中。

无论您对编写新的文档、更新现有的文档、添加相关的代码片段,还是创建新的视觉元素(如图表)感兴趣,您的贡献都将受到每一位 Flutter 开发者的感谢。

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

文档网站

#

请考虑为这个网站贡献力量,引导开发者学习和探索 Flutter。

要了解如何为 Flutter 文档网站贡献代码,请查看网站的 贡献文档

您还可以为 Dart 网站 贡献代码,增强为客户端优化的、构成 Flutter 基础的语言的文档。要了解如何贡献,请查看 dart-lang/site-www 贡献文档

处理问题

#

帮助 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 网络

发布关于 Flutter 的内容

#

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

有很多选择可以分享关于 Flutter 的信息并与开发者社区联系。一些常见的渠道包括

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

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

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