跳到主內容

開始進行宣告式思考

如何思考宣告式程式設計。

如果你是從命令式框架(例如 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 的任何狀態,都只有一條程式碼路徑。你只需描述一次在給定狀態下 UI 應該是什麼樣子——這就足夠了。

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