跳至主要內容

開始以宣告式思維思考

如果您是從命令式框架(例如 Android SDK 或 iOS UIKit)轉而使用 Flutter,您需要從一個新的角度開始思考應用程式開發。

您可能擁有的許多假設不適用於 Flutter。例如,在 Flutter 中,從頭開始重建 UI 的某些部分是可以接受的,而不是修改它。Flutter 的速度足以做到這一點,即使在需要時每幀都重建也沒問題。

Flutter 是宣告式的。這表示 Flutter 會建立其使用者介面以反映應用程式的目前狀態。

A mathematical formula of UI = f(state). 'UI' is the layout on the screen. 'f' is your build methods. 'state' is the application state.

當應用程式的狀態變更時(例如,使用者在設定畫面中切換開關),您會變更狀態,這會觸發使用者介面的重新繪製。不會命令式地變更 UI 本身(例如 widget.setText)——您會變更狀態,然後 UI 會從頭開始重建。

請在入門指南中閱讀更多關於 UI 程式設計的宣告式方法。

宣告式 UI 程式設計風格有很多好處。值得注意的是,任何 UI 狀態都只有一個程式碼路徑。您只需描述一次任何給定狀態下的 UI 應該是什麼樣子——僅此而已。

起初,這種程式設計風格可能不如命令式風格直觀。這就是本節存在的原因。請繼續閱讀。