跳到主內容

貢獻給 Flutter

瞭解如何為 Flutter 專案及其周邊生態系統做出貢獻。

Dash and her friends excited for your contribution

如果您想為 Flutter 專案及其周邊生態系統做出貢獻,我們非常歡迎您的幫助!

Flutter 是一個開源專案,它的蓬勃發展離不開社群的貢獻。無論您是修復 Bug、提議新功能、改進文件,還是在社群中幫助他人,您的努力都非常寶貴且令人感激。

本頁面概述了您可以如何參與,內容並不詳盡。如果您在貢獻過程中需要幫助,或希望獲得更多入門建議,可以考慮在 Flutter 貢獻者 Discord 上尋求幫助。

使用 Flutter 進行開發

#

即使只是使用 Flutter 並提供反饋,也是一種有價值的貢獻!

提供反饋

#

分享您的反饋和使用體驗有助於 Flutter 團隊理解並優先處理開發者的需求與痛點。

您可以透過多種渠道提供有價值的反饋,包括:

  • 為現有問題點贊 (Upvoting)

    如果您遇到了已經被報告的問題,請考慮點贊,以幫助 Flutter 團隊瞭解其重要性。

    請避免僅傳送空的點贊、+1 或類似評論。如果您有額外資訊,例如復現步驟或補充的版本資訊,請務必在評論中提供這些詳情。

  • 報告新 Bug

    如果您在使用 Flutter 時遇到了尚未被報告的 Bug,請新建一個 issue 並提供復現資訊。

  • 請求功能

    如果您認為 Flutter 應該新增或實現某項功能,但尚未有人提議,請新建一個 issue,提供所有相關資訊以及您的使用場景。

  • 參與調查

    Flutter 團隊偶爾會進行開發者調查和研究。為了幫助理解痛點並改進 Flutter 開發者體驗,請考慮儘可能詳細地提供反饋。

    若要註冊參與未來的 UX 研究,請訪問 flutter.dev/research-signup

  • 討論提案

    對 Flutter 的重大變更通常會透過設計文件進行討論。請考慮閱讀併為您相關的內容或應用提供反饋。

    要查詢當前的設計文件和提案,請檢視 GitHub 問題資料庫中帶有 design doc 標籤的 issue

  • 審查 Pull Request

    如果您熟悉 Flutter 的某個特定領域,或者某個特定問題的解決方案對您很重要,請考慮審查開啟的 Pull Request,在您的應用中進行測試,並提供任何相關的反饋。

嘗試 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 文件

#

許多 Flutter 開發者都非常依賴 API 文件,無論是線上查閱還是在程式碼編輯器中檢視。

無論您是有意編寫新文件、更新現有內容、新增相關的程式碼片段,還是建立圖表等視覺內容,您的貢獻都將受到每一位 Flutter 開發者的讚賞。

若要開始,請查閱 Flutter SDK 貢獻指南,特別是關於 API 文件 的章節。

文件網站

#

考慮為本網站做出貢獻,引導開發者學習和探索 Flutter。

要了解如何為 Flutter 文件網站做出貢獻,請查閱該網站的 貢獻文件

您也可以為 Dart 網站 做出貢獻,改進構建了 Flutter 基礎的客戶端程式語言的文件。要了解如何貢獻,請查閱 dart-lang/site-www 貢獻文件

分類處理問題

#

透過分類處理傳入的 Bug 報告和功能請求來幫助 Flutter 團隊。

Flutter 的問題資料庫 中有許多可以提供幫助的方式,包括但不限於:

  • 確定問題的有效性
  • 確保問題的可執行性
  • 記錄受影響的版本
  • 新增復現步驟
  • 識別重複或已解決的問題
  • 解決或重定向支援請求

若要開始幫助處理問題,請閱讀關於 如何在問題資料庫中提供幫助 的說明,並瞭解 Flutter 處理 問題分類 (Issue triage)問題規範 (Issue hygiene) 的方法。

加強軟體包生態系統

#

幫助成長並支援 pub.dev 上現有的 Dart 和 Flutter 軟體包集合。

為您所使用的軟體包做出貢獻

#

為了回饋您依賴的軟體包並可能幫助您自己的應用,請找到您依賴的軟體包併為它們做出貢獻。

要為某個軟體包做出貢獻,請導航至其在 pub.dev 網站 上的頁面,並找到側邊欄中連結的倉庫。

在貢獻前,請務必遵守每個軟體包的貢獻指南,與維護者討論您的貢獻,並牢記 Flutter 的 行為準則 (Code of conduct)

開源您應用中的可複用功能

#

如果您在應用中構建了一個很酷的通用元件或實用工具,請考慮將其提取為軟體包併發布到 pub.dev。

若要開始,請了解 建立 Dart 軟體包開發 Flutter 軟體包。準備好將軟體包釋出到 pub.dev 網站 後,請遵循 釋出軟體包 的指南和最佳實踐。

#

建立或參與封裝原生 SDK 或 Web API 的軟體包。

在建立新軟體包之前,請先嚐試在 pub.dev 網站 上尋找是否有您可以直接使用或為其做出貢獻的現有封裝。

根據 SDK 和平臺的不同,您可能需要 編寫平臺特定程式碼、使用 JS 互操作、使用 package:http 封裝 REST API,或者用 Dart 重新實現所需功能。

如果您計劃建立新軟體包,請了解 建立 Dart 軟體包開發 Flutter 軟體包。準備好釋出後,請遵循 釋出軟體包 的指南和最佳實踐。

支援社群

#

幫助其他開發者學習 Flutter,並在他們構建應用時取得成功。

幫助其他開發者

#

分享您的 Flutter 知識和專業經驗,幫助其他 Flutter 開發者取得成功。

這可以採取多種形式,從在您的公司啟動 Flutter 幫助頻道,到在公共論壇回答問題。

Flutter 開發者尋求幫助的一些常見地點包括:

舉辦活動

#

與志同道合的 Flutter 愛好者聯絡,組織本地、全國性甚至虛擬活動。活動形式不限,可以是學習小組、簡單的聚會,也可以是研討會或駭客馬拉松。

如需靈感和支援,請檢視現有的 Flutter 活動,瞭解更多關於 Flutter 社群 的資訊,並探索 Flutter Meetup 網路

釋出關於 Flutter 的內容

#

與更廣大的 Flutter 社群分享您的見解和專案。

分享 Flutter 相關內容並與開發者社群聯絡的方式有無數種。一些常見的渠道包括:

  • 部落格文章
  • 影片教程
  • 短文分享
  • 論壇帖子
  • GitHub 討論
  • 連結聚合平臺

釋出或分享您熱衷的任何內容,如果您不確定發什麼,可以考慮釋出開發者經常詢問的主題。

如果您釋出的平臺支援打標籤,請考慮新增 #Flutter#FlutterDev 標籤,以幫助其他開發者找到您的內容。