The Composable Architectureの良さを改めて整理する 2024夏 by 今城 善矩

iOSDC Japan 2024
レギュラートーク(20分)

The Composable Architectureの良さを改めて整理する 2024夏

yimajo 今城 善矩 yimajo
3

The Composable Architecture(TCA)はiOSアプリ開発において関数型スタイルの原則を取り入れることで実装から挙動を予測可能としテストコードを書きやすくすることに特化したOSSのフレームワークです。

このトークでは、2020年5月頃にv0.1がリリースされてから現在まで4年を経過し、さらにアップデートされ続けているTCAの良さを整理します。

そのためまずは従来のiOSアプリ開発における一般的な課題を説明し、TCAの関数型スタイルがどのように課題を解決するかを解説します。そして、新しくTCAへ追加された下記の機能が、どのように過去のTCAの短所を解決してきたかを解説できればと思います。

  • swift-dependencies: 依存関係の管理を改善し、モジュール間のバケツリレー的な結合を緩和。大規模なアプリでも依存管理が容易になった。
  • swift-perception: ObservationをTCAに取り入れ、iOS 17未満にはバックポートを提供する。
  • ViewAction: UIコンポーネントからのアクションをより明確に管理し、ユーザーインタラクションのハンドリングを改善。
  • Sharing state: 状態の共有機能を強化し、アプリ内でのデータフローの管理を容易に。複数のコンポーネント間でのデータの一貫性が保ちやすくなった。