iOSアプリ開発のための"The Composable Architecture"がすごく良いので紹介したい by 今城 善矩

iOSDC Japan 2020
採択
2020/09/21 11:30〜
Track D
レギュラートーク(40分)

iOSアプリ開発のための"The Composable Architecture"がすごく良いので紹介したい

yimajo 今城 善矩 yimajo

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を使ってどのような構成でアプリを作ろうかと考えている人にも参考になるトークとする予定です。