【The Composable Architecture (TCA) 源码解析】01 - 目录

498 阅读2分钟

此源码解析适用于 0.41.0 之前的版本。最新的源码已经把 Reducer 重构成了一个协议 ReducerProtocol,但核心的实现方法还是离不开这个版本的源码。

The Composable Architecture (简称 TCA)是一个可以让你用一致和可理解的方式来构建应用的库。可用于 SwiftUI、UIKit 等;并且适用于任何苹果平台(iOS、macOS、tvOS 和 watchOS)。

阅读前

在阅读本系列文章之前,最好是已经对 Redux 有所了解。因为 TCA 的思想本质上和 Redux 类似。先了解 Redux 有助于对 TCA 的理解。可以去看我之前写的《在 SwiftUI 中实现 Redux》了解 Redux。

另外,TCA 使用了 Swift 全新的 CombineConcurrency 框架来编写。如果能对它们有所了解,将会有助于阅读 TCA 的源码。建议阅读这两本书: 《Modern Concurrency in Swift》《Combine: Asynchronous Programming with Swift》

什么是 TCA

TCA 提供了一些核心工具,可用于构建不同用途和复杂度的应用。你可以用它去解决在日常开发中经常碰到的许多问题,比如:

  • 状态管理(State Management) 如何使用简单的值类型管理应用的状态,并在多个界面之间共享状态,以便在另一个界面中立即观察到一个界面上的变化。

  • 组合(Composition) 如何将庞大的功能分解为更小的组件,这些组件可以提取到它们自己的独立模块中,并轻松地组合在一起实现完整的功能。

  • 副作用(Side Effects) 如何让应用的某些部分尽可能以可测试和可理解的方式与外界沟通。

  • 测试(Testing) 如何不仅测试架构中构建的功能,还为由许多部分组成的功能编写集成测试,并编写端到端测试,以了解副作用如何影响应用。这使你能够有力地保证业务逻辑以期望的方式运行。

  • 工效(Ergonomics) 如何在一个简单的 API 中用尽可能少的概念和移动部件完成以上所有工作。

文章列表