2024-08-04, 13:40–14:10 (Asia/Taipei), RB102
Flutter 帶給我們輕鬆愉快的開發體驗,聲明式的語法 + hot-reload,更讓我們如虎添翼,但是面對複雜的頁面時,如果沒有妥善的分層,常常會不知該如何是好,這時可以使用狀態管理工具,讓程式碼變得容易開發、維護。
在本場分享中,分為三個部分:
1. 為什麼在 Flutter 開發中,會需要狀態管理工具。
2. 如何正確的使用狀態管理工具。
3. 三個常見的狀態管理工具(Provider、BLoC、Cubit)介紹。
Flutter 是一種使用聲明式 UI (declarative UI)開發的跨平台框架,優點是簡單易學,缺點是當頁面變得複雜時,程式碼就會不好維護,套用狀態管理工具就能夠讓程式碼變得容易開發、維護。
在 Flutter 中,因為所有項目都是 Widget,可以粗略分為兩種 Widget:StatelessWidget 以及 StatefulWidget。要怎麼分辨需要使用什麼 Widget 呢?頁面如果不會變動,可以選用 StatelessWidget 避免重繪。假如 Widget 有更新的需求,則須使用 StatefulWidget,當需要更新的時候,我們可以直接呼叫 setState() 驅動畫面重繪。
雖然隨時呼叫 setState() 很方便,但是若我們在 Widget 內使用 setState() 就會使得該 Widget 包含 UI 以及變動的邏輯。當頁面有不只一處需要更新時,就會使得程式碼複雜度上升。
如果想讓 Flutter 容易維護,將 UI 與邏輯分開是必要的,使用狀態管理工具,就可以輕鬆的分離 UI 以及邏輯,讓 UI 只跟隨數值與狀態的變動,而不會與邏輯綁在一起。如此,我們就能夠寫出高品質的程式碼,容易開發、維護。
那麼,在 Flutter 內有許多狀態管理工具,我們該怎麼選擇呢?在本場分享中,將會介紹三種狀態管理工具 Provider、BLoC、Cubit,只要學會這三種常見的狀態管理工具,面對難以維護的頁面,你也可以輕鬆面對。
我是一名 App 工程師,主要開發 Android 、 Flutter。
喜歡透過文章與其他開發者一起交流,在我的 Medium 可以找到更多我寫的文章喔。