應用程式架構
從基礎原理到實務判斷,系統化理解應用程式架構。
BUILD · 15 ARTICLES
從基礎原理到實務判斷,系統化理解iOS 工程。
主題地圖
從基礎原理到實務判斷,系統化理解應用程式架構。
從基礎原理到實務判斷,系統化理解UIKit 與 SwiftUI。
從基礎原理到實務判斷,系統化理解模組與建置。
從基礎原理到實務判斷,系統化理解Apple 開發工具。
從這裡開始
從基礎通往下一步的導讀。
如果你一路讀到這裡,iOS 架構系列的選項已經全部攤在眼前:MVC、MVVM、MVP、VIPER、Clean Architecture、MV,以及 TCA。
閱讀文章學習 iOS 開發時,到了某個階段一定會遇到 RxSwift 或 Combine 這道牆。它們幾乎必定出現在徵才公告中,但實際打開程式碼,看到 map、flatMap、sink 一路串接的陌生語法,很容易感到不知所措。「明明用閉包和委派就能正常運作,真的有必要學這個嗎?」
閱讀文章所有文章
重複 NSTimer 會強烈參考 target,因此在呼叫 invalidate() 前,視圖控制器都不會釋放。本文整理循環參考的形成方式,以及區塊式 API、依生命週期 invalidate、weak proxy 三種解法。
閱讀文章RIBs 不是以畫面,而是以商業邏輯單位拆分 App。本篇整理無畫面元件存在的前提、只適合超大型組織的原因,以及它和 VIPER 的差異。
閱讀文章ReactorKit 是讓 UIKit 與 RxSwift 組合採用單向資料流作為標準的架構。本文整理 View 與 Reactor 的兩種角色、需要 Mutation 中間階段的原因,以及它與 TCA 的差異。
閱讀文章在 SwiftUI 時代的架構討論中,有一個名字總是無法避開:Point-Free 打造的 TCA(The Composable Architecture)。
閱讀文章你常會在徵才公告或技術部落格中看到「以 Clean Architecture 為基礎」這句話。但實際打開程式碼後,會發現每個團隊的樣貌都不一樣。有些地方有 UseCase,有些沒有,Repository 的職責也各不相同。
閱讀文章用原型設計工具製作的畫面,往往只是「看起來」像真的。即使按下按鈕,也只會前往預先連結好的畫面;資料不會真正儲存,也不會與伺服器通訊。因此,要驗證想法,最後還是得有人撰寫程式碼。
閱讀文章SwiftUI 介紹文件的第一行,總會出現「宣告式(declarative)框架」這個說法。React 和 Jetpack Compose 也都稱自己為宣告式。
閱讀文章上一篇介紹了 Massive View Controller 產生的原因。由於檢視控制器同時兼任 View 和 Controller,無處可放的程式碼最後全都堆到那裡。
閱讀文章