App architecture
Build a practical understanding of app architecture from the underlying principles.
BUILD · 15 ARTICLES
Explore the structural and tooling decisions behind long-lived iOS apps, including architecture, state, dependencies, module boundaries, and build strategy.
Topic map
Build a practical understanding of app architecture from the underlying principles.
Build a practical understanding of uikit & swiftui from the underlying principles.
Build a practical understanding of modules and builds from the underlying principles.
Build a practical understanding of apple development tools from the underlying principles.
Start here
A guided path from fundamentals to the next step.
There’s a joke almost every iOS developer hears at least once.
Read articleIf you’ve followed this iOS architecture series this far, the options are all on the table: MVC, MVVM, MVP, VIPER, Clean Architecture, MV, and TCA.
Read articleAt some point while studying iOS development, you inevitably encounter RxSwift or Combine. They appear in nearly every job posting, but opening the code can be intimidating: unfamiliar syntax chains together map, flatMap, and sink. “Closures and…
Read articleAll articles
Repeating NSTimer strongly retains its target, so the view controller is not released until invalidate(). This summarizes the cycle, block-based API, lifecycle invalidation, and weak proxy solutions.
Read articleRIBs split an app by business logic rather than screens. This article explains the premise of viewless components, why RIBs suit only very large organizations, and how they differ from VIPER.
Read articleReactorKit is the framework that established unidirectional data flow as a standard for UIKit and RxSwift. This article explains the two roles, View and Reactor, why Mutation is needed as an intermediate step, and how it differs from TCA.
Read articleOne name is impossible to miss in architecture discussions in the SwiftUI era: TCA (The Composable Architecture), created by Point-Free.
Read articleYou often see “based on Clean Architecture” in job postings and technical blogs. But when you open the code, every team has a different interpretation. Some use UseCase, others do not, and Repository responsibilities vary as well.
Read articleWhen building an iOS app, view controllers can gradually become bloated.
Read articleFew patterns in iOS architecture inspire opinions as divided as VIPER.
Read articleOne question comes up repeatedly in iOS architecture interviews.
Read articleScreens made with prototyping tools merely “look” convincing. Tapping a button only takes you to a prelinked screen; no data is actually saved, and nothing communicates with a server. So validating an idea ultimately required someone to write code.
Read articleThe first line of every SwiftUI introduction inevitably mentions a “declarative framework.” React and Jetpack Compose also describe themselves as declarative.
Read articleThe iOS community has been debating a hot topic for years.
Read articleIn the previous article, we covered why Massive View Controllers emerge. Because a view controller serves as both View and Controller, all code with nowhere else to go ends up there.
Read article