NewsPicksのiOSアプリは、2013年にリリースされた比較的歴史の長いアプリです。
ニュースやコメントの閲覧、投稿といったニュースアプリとしての基本機能に加えて、いまではライブ動画配信機能や法人向け機能など、様々な機能を提供する規模の大きなアプリになってきました。
NewsPicksアプリのベースのアーキテクチャはMVCで、一部MVPやクリーンアーキテクチャの考え方を取り入れている箇所もありますが、テストはほとんど書けておらず、状態があちこちで変更されていたりと、デグレのリスクが高いアーキテクチャとなってしまっています。
こうした状況を改善すべく、現在アーキテクチャ刷新プロジェクトを進行中です。
新しいアーキテクチャでは、The Composable Architecture(TCA)を採用しました。
新規アプリでは採用事例が出てきているようですが、歴史が長く規模の大きなアプリに後からTCAを導入した事例というのはまだ少ないのではないでしょうか?
本トークでは、NewsPicksアプリにTCAを導入する上で得た知見をご紹介し、TCAの採用を考えているみなさまに少しでも役に立つ情報をご提供できればと思います。