应用架构
从基础原理到实践决策,系统理解应用架构。
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 按业务逻辑单元而不是屏幕拆分应用。本文整理无屏幕组件存在这一前提、它只适合超大型组织的原因,以及它与 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 的职责,无处安放的代码最后全都堆在那里。
阅读文章