Tripadvisor 如何将其 SwiftUI 应用迁移到可组合架构?

主要观点:Tripadvisor iOS 首席工程师 Ben Sarrazin 描述了他们将 Model-View-ViewModel-Coordinator (MVVM-C) 架构的现有 iOS 应用迁移到 The Composable Architecture (TCA) 的历程,包括迁移原因(如应对日益增长的应用复杂性和团队规模)、TCA 的优势(与 SwiftUI 无缝集成、强大的测试能力、提高的组合性等)、迁移方法(自下而上,采用“叶到根”策略处理导航元素等)以及迁移过程中面临的挑战(如复制现有功能层次结构不一定是最佳方法、处理高频输入导致的大量动作派发等),且迁移效果显著,TCA 在测试方面也带来很多好处。
关键信息:

  • MVVM-C 导航结构存在痛点,难以文档化和理解。
  • 协调器依赖 UIViewControllers 增加复杂性,Combine 事件链调试困难。
  • TCA 有诸多优势,团队重视其进化和成熟度。
  • 迁移采用自下而上和“叶到根”策略处理导航。
  • 迁移需转变思维模式,避免过度双向通信等。
  • TCA 测试能减少测试脆弱性,还可作为设计反馈。
    重要细节:
  • 匿名用户访问网站需认证时,MVVM-C 导航复杂难以理解和修改。
  • 父协调器承担子协调器的导航责任,实现单一导航真相源。
  • 测试用 TCA 的 TestStore 能提供更强大的应用行为保证。
  • 团队发现高频输入时需去抖并减少动作派发。
阅读 9
0 条评论