過去我們多多少少聽過一些設計原則,例如:消除 Code Smell、SOLID,甚至是一些設計模式,在這個主題中,我會分享如何把這些設計想法融入 Flutter 的開發中,建構容易維護的程式。
只要給足夠的時間,我們都可以正確地完成功能,但過段時間再回頭來看,未經適當重構與設計的程式碼,早已滿目瘡痍,想改也改不動,只能一直 Workaround。如何在...
Flutter 是一個可以建構跨平台應用程式的框架,在開發的過程中,我們會透過組合各式各樣 Widget 來實現各式各樣的畫面。隨著需求越來越複雜,View 的...
昨天我們提到一個狀況:有些情況是 Flutter 提供的 Widget 並不符合設計要求,而第三方套件中也沒有符合需求的套件,所以我們得自己實作。我們依照設計師...
在前兩天的文章中,我們討論到使用抽取方法,或者抽取 Widget 處理 Large Class 的壞味道。在昨天的 Chat Room 例子中,原本過大的 Ch...
開發 UI 畫面的過程中,常見的功能開發情境有很多,除了顯示資訊以外,另外一個常見的情境是提供一個按鈕,讓使用者執行特定功能了。在 Flutter 中,如果要製...
在昨天的文章中,我們討論了兩種實現按鈕行為的方法。大多數的情況下,我們可以直接透過傳遞 onTap 參數解決。但是軟體會隨著需求不斷地演進,在昨天的例子中,假設...
在前幾天的 Game List 的例子中,我們消除了 onTap 層層傳遞的問題。但是,如果我們仔細觀察的話,會發現 Game 也是同樣的情況,只要底層的哪個...
當我們在開發 Flutter 時,有些時候我們會需要不斷的改變狀態,並把改變後的狀態渲染至畫面上。當隨著需求越來越複雜,改變狀態的邏輯也會開始變得複雜。假設今天...
在昨天的文章中,我們提到了可以使用狀態管理套件,把複雜的狀態感變邏輯放到裡頭。今天我們來聊聊狀態管理套件的另一個用途:共享狀態。假設今天 App 有一個 Hom...
當我們使用狀態管理之後,可能會思考,是否再也不需要使用 StatefulWidget 了?今天我們就來談談這個問題。首先,我們先看一個例子,假設今天畫設計師設計...