Swiftを用いたアプリ開発用にThe Composable Architecture(TCA)というのがあり、それがめっちゃ良いやん!と思うので紹介するトークです。
TCAは人間工学を考慮した一貫性のある方法でiOS(およびmacOS, tvOS, watchOS)アプリを構築するフレームワークです。
https://github.com/pointfreeco/swift-composable-architecture
TCAの良い点はRedux的にReducerを取り入れつつ、Reducerを画面ごとに用意し必要があればそれを別画面用に組み合わせることを前提としていることです。これによって巨大なグローバルなReducerを作ることはなく、Reducerを修正する場合に他の画面のコードを目にすることはありません。さらにロジックの繋ぎとしてうまくCombineフレームワークを使っているところも良い点でしょう。
Combineはリアクティブプログラミング(RP)フレームワークですが、他のRPフレームワークと同じオペレーターを使っても動作が異なることもあり、クローズドなフレームワークであることで不具合かどうか判断しづらいデメリットがあります。そのため、あくまで限定的にCombine利用するという点はTCAを使わなくても良い教材となるはずです。
SwiftUIを使ってどのような構成でアプリを作ろうかと考えている人にも参考になるトークとする予定です。