iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Mobile Development

關於 Flutter 開發的一些設計雜談 系列

過去我們多多少少聽過一些設計原則,例如:消除 Code Smell、SOLID,甚至是一些設計模式,在這個主題中,我會分享如何把這些設計想法融入 Flutter 的開發中,建構容易維護的程式。

鐵人鍊成 | 共 30 篇文章 | 13 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 - 四處可見地倒數計時

有時候,我們需要根據時間來渲染畫面,並時時刻刻的更新。一個經典的例子就是顯示倒數時間,例如:商品打折的剩餘時間,比賽開始的倒數時間 …等等。我們使用最簡單的 S...

2022-09-25 ‧ 由 保羅 分享
DAY 12

Day 12 - 用 Nested Navigation 處理耦合的頁面

隨著功能越來越多,App 的頁面也會越來越多,我們常常就會引入路由管理設計。在 Flutter 中,我們會在 MaterialApp 裡面定義整個 App 的路...

2022-09-26 ‧ 由 保羅 分享
DAY 13

Day 13 - 非同步處理怎麼寫?有差嗎?

在開發 App 的過程中,我們的程式常常會需要與外部服務互動,例如:利用 http 像後端 API 拿回一些資料,或者把一些資料存到 Local storage...

2022-09-27 ‧ 由 保羅 分享
DAY 14

Day 14 - 使用 Extension 偽裝成外部類別的方法

開發時,我們時常使用框架或套件的 API 幫助我們完成需求。使用外部 API 時,我們常常會根據需求,使用外部物件的狀態或方法。 https://dartpad...

2022-09-28 ‧ 由 保羅 分享
DAY 15

Day 15 - 用樣板模式處理多平台設計

Flutter 是一個可以用同一份 Codebase 建構不同平台的應用程式的框架,例如:Android、iOS … 甚至 Web、Windows 等等。每個平...

2022-09-29 ‧ 由 保羅 分享
DAY 16

Day 16 - 老生常談的組合取代繼承

在昨天的例子中,我們談論到使用樣板模式來建立 PlatformWidget,並讓子類別實作 buildMaterial 與 buildCupertino,實現不...

2022-09-30 ‧ 由 保羅 分享
DAY 17

Day 17 - 使用 Value Object 的眉眉角角

Dart 是強型別語言,我們會宣告各式各樣的物件,來幫助我們完成功能。所有物件最頂層雖然是 Object,但實際上使用時,卻能分出許多不同的物件,有 Widge...

2022-10-01 ‧ 由 保羅 分享
DAY 18

Day 18 - 事不關己,高高”掛“起

在開發 Flutter 的過程中,我們常常會使用到各式各樣的 Controller,從 AnimationController、TabController、Te...

2022-10-02 ‧ 由 保羅 分享
DAY 19

Day 19 - 不好好讀文件,會踩好多坑

在開發 Flutter 過程中,總是會需要使用到各種不同的 Widget 或 API,名稱與使用方式也十分易懂。但是總在開發的過程中,才發現有許多時候,Widg...

2022-10-03 ‧ 由 保羅 分享
DAY 20

Day 20 - 讓設計與程式碼統一

在開發 App 的過程中,我們會有許多常數,例如圖片位置、文字樣式、元件顏色等等。如果我們把所有顏色,樣式或路徑都寫死在程式中,就會造成後續修改十分不方便,也降...

2022-10-04 ‧ 由 保羅 分享