yii.
← Writing
Flutter 技術 · · 3 min read

剛進入 Flutter 嗎?適合初學者食用,GetX 是否適合你呢!

這篇寫於 2023 年。工具和 API 變化很快,部分步驟可能已經不適用。

Use GetX or not?

常常看到有許多人在討論 GetX 如何,通常很多是剛進入 Flutter 的初學者看到,或是有許多狀態管理可以選擇,好奇所以詢問,很棒的是有些人在決定投入之前有先試著詢問社群,我這邊先給個結論

不建議你使用,尤其在專業以及大型的產品上更不應該使用,也無法幫助你的職涯發展。

好了到這邊,可以去看迷因或搞笑影片舒壓了

如果你寫 Getx 一段時間,產品運行良好,恭喜你很幸運,做得很好,保持喜歡並持續為它貢獻,有餘力的話去幫忙改善它

而為什麼不建議呢?如果你今天是一個專職的 Flutter 工程師、開發者,想要持續自己提升能力的話,那它擁有幾個特點你必須知道💥

  1. 自成一格,感覺是在開發 Getx APP
  2. 開發方式與 Flutter 所給予得觀念不一致,你只是用但不理解
  3. 包山包海,有 Router、Storage、i18n、Http 等等,做了很多套件在做的事情,太多東西導致深度不夠,缺少人力優化以及改善現有問題,上述提到的每一樣都更好的選項
  4. 身為大型專案或是框架?運行這麼久卻只有 README 文件,沒在用都聽得到其他人抱怨,缺少基本的 API 說明
  5. 官方沒有積極維護與改善,存在許多舊有問題,也沒什麼 Roadmap 和規劃資訊,一旦完全停擺可能頭就大了
  6. 測試撰寫不友善,是個大麻煩,難以確保產品的穩定性

你可以想一下,包了這麼多東西的套件,如何即時因應 Dart 和 Flutter 做更新?很明顯的團隊以及社群人力不足,如果公司的大型專案這時候發現問題了,想要修正,你可能整套直接重寫嗎?還是先完成功能再說,之後遇到問題再想辦法,這樣不錯對吧 ⁉ ️

有些人寫了幾年的 Getx 但對 Flutter 不熟,可能只了解比較淺的觀念,它對我們沒有什麼加分,很多國外企業看到履歷上使用過 Getx 可能會印象不好甚至是直接刷掉,這樣你會覺得很誇張嗎?回過頭來只是位 Getx developer 而不是 Flutter developer,後來面對學習 Flutter 成本太高,覺得很不適應和後悔

再三強調,Getx 算是特例,別被套件 Likes 以及初期的開發便利性給欺騙,Pub 相關資訊只是參考,大部分適用但還是需要再三確認,可以的話看源碼最好

當然如果你是好奇想了解,在自己的專案把玩那很棒,這是懂它最快的方式,但真的不要在一開始就碰,這是我能提供的建議,也是了解很多開發者以及社群想法後的結論。

推薦幾個狀態管理的學習選項📝#

  1. ScopedModel
  2. Provider
  3. Bloc
  4. Riverpod

套件如何選擇與注意事項💡#

  1. 只支援單一任務,避免臃腫
  2. 沒有必要不要使用
  3. 可以的話想要什麼自己撰寫或改寫

相關討論#

Twitter、Reddit 很常有 Getx 討論串,可以去看看哦

一句話#

Do one thing and do it perfectly.

以上希望有幫助到你,也歡迎有什麼想法來討論,接下來一起期待 1/25 Flutter Forward 吧 💙


About#

Contribute#

謝謝你花費時間看完,非常感謝!

如果覺得文章不錯的話可以贊助,讓我有更多動力和熱情分享學習紀錄和生活!請我喝一杯咖啡吧~

https://www.buymeacoffee.com/yiichenhi

End#

希望有幫助到你/妳,歡迎追蹤我,方便瀏覽最新的文章~

本文原刊登於 Medium。