打倒レガシーUIKit MVC!辿り着いたSVVSはSwiftUI移行もしやすくなっていた話 by ターク

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

打倒レガシーUIKit MVC!辿り着いたSVVSはSwiftUI移行もしやすくなっていた話

tark_ann ターク tark_ann
8

10年前に誕生したUIKitアプリは、さまざまな課題を抱え保守性が悪い状態になっていました。状態管理のenumやフラグを抱えコードの見通しが悪くなったFat ViewController、ロジックを分離したが機能が積み上がるにつれて責務が混在したManager──そんなレガシーなアプリが生み出すバグと格闘する日々が続いていました。

本セッションでは、レガシーアプリを改善するためにアプリに生じるバグの傾向を分析し、「コードの見通しの悪さ」を生む構造的な原因に向き合う中で、SSOT(Single Source of Truth)を実現するための Store、状態管理であることを明確にするための ViewState など、iOSDC2023で紹介された「SVVSアーキテクチャ(Store・ViewState・View)」に辿り着くまでの過程をお話しします。

Fat ViewControllerからの段階的な分離、SwiftUI移行を見据えた土台作り──SVVSをスモールステップで導入するプロセスと、それによって得られた改善効果についてお話しします。

  • レガシーUIKit MVC アプリが抱える課題
  • アプリで頻出するバグの傾向分析
  • 取り組む課題と実現したいことの整理
  • Fat ViewController を段階的に改善した作戦
  • SVVS になった後の SwiftUI 導入