模組五|建置與部署(Day 20–24) 先備:Day 1(畫布不是 DOM)、Day 20(Vite 的基準線與 AOT)。本篇的 code 全是指令與目錄...
模組五|建置與部署(Day 20–24) 先備:Day 1(兩個對照 demo 的來歷)、Day 11(SPA 的 rewrite 原罪,Day 23 會再撞...
模組四|狀態管理(Day 15–19) 先備:Day 15–18(四天的對照)。這一篇是模組四的結論,可以單獨讀,但表格裡每一格背後的理由都在前四天。 四天...
模組四|狀態管理(Day 15–19) 先備:Day 8(InheritedWidget 是往下傳資料的底層機制)、Day 3(我埋的那個 Theme.of(...
模組四|狀態管理(Day 15–19) 先備:Day 10(Bloc 的 add/on 形狀、sealed class)、Day 16(不可變狀態與 copy...
模組四|狀態管理(Day 15–19) 先備:Day 9(ref.watch/ref.read 的分工)、Day 15(Pinia 三件套與那兩個 any)。...
模組四|狀態管理(Day 15–19) 先備:Day 6(依賴追蹤 track/trigger)、Day 8(ChangeNotifier 與 notifyL...
模組三|Routing(Day 11–14) 先備:Day 11(history mode 的伺服器 rewrite 義務)、Day 12(context.g...
模組三|Routing(Day 11–14) 先備:Day 11(堆疊即狀態)、Day 12(go_router 是這一層的封裝)。本篇的 code 是骨架示...
模組三|Routing(Day 11–14) 先備:Day 11(URL-first vs Stack-first 的世界觀差異)。本篇會出現 state.p...
模組三|Routing(Day 11–14) 先備:Day 2(widget 是建構子、不是標籤)、Day 7(頁面級 state 走 setState)。這...
模組二|響應式對照(Day 6–10) 先備:Day 8(context.read / context.watch 的取用方式)、Day 9(Riverpod...
模組二|響應式對照(Day 6–10) 先備:Day 6(依賴追蹤 track/trigger)、Day 8(provider 套件與 context.wat...
模組二|響應式對照(Day 6–10) 先備:Day 6(依賴追蹤)、Day 7(setState 與 rebuild 粒度)。第一次讀可跳過本篇 Flutt...
模組二|響應式對照(Day 6–10) 先備:Day 2(widget tree 與第一段 Dart 語法)、Day 6(Vue 的 track/trigge...
模組二|響應式對照(Day 6–10) 先備:Day 2(第一段 Dart 語法、具名參數與 super.key)、Day 5(建構子就是元件的公開介面)。第...
模組一|心智模型轉換(Day 1–5) 先備:Day 2(widget tree 與第一段 Dart 語法)、Day 4(Row/Column 的 const...
模組一|心智模型轉換(Day 1–5) 先備:Day 2(widget tree 怎麼讀)、Day 3(樣式寫在哪)。第一次讀可以略過兩段簡例的細節,直接跳到...
模組一|心智模型轉換(Day 1–5) 先備:沒有。Day 1(Flutter Web 把整個畫面畫進一塊 canvas、DOM 只剩一個節點)與 Day 2...
模組一|心智模型轉換(Day 1–5) 先備:Day 1(系列前提與 Waypoint Air 兩個對照 repo)。零 Dart 基礎可以直接讀下去,本篇每...
模組一|心智模型轉換(Day 1–5) 我是寫了十年以上 Vue 的前端工程師,而且先自首:我不信 Flutter Web。在台灣業界它不流行,我環顧四周也...