MVC, MVP, MVVM, Flux, Clean Architectureなどなど、さまざまなアーキテクチャパターンが群雄割拠しています。一体、プロダクト開発においてどれを選べばいいのでしょうか?
適切なアーキテクチャを探るには、相対的な視点が必要です。
それぞれのアーキテクチャパターンは、登場の背景があり、それぞれが解決しようとしている問題がありました。
40年にわたるソフトウェアアーキテクチャの歴史をふりかえり、各パターンが生まれた経緯や、それぞれのパターンの違いを見つめてみましょう。
今年のWWDCではSwiftUIも発表され、iOSアプリのアーキテクチャをめぐる環境は激変しつつあります。
SwiftUIは既存のアーキテクチャパターンの何に似ていて、何に親和性があるのでしょうか?
先人の通った道を踏まえることで、その強みや弱み、実装にあたっての注意点などもはっきりと見えてくることでしょう。
2017年に発表したスライド「10分で振り返るソフトウェアアーキテクチャの歴史2017」、
2018年末発売の書籍「iOSアプリ設計パターン入門」第4章「アーキテクチャのパターンを鳥瞰する」
に近い内容ですが、プレゼン形式だと再読が難しいので、システムアーキテクチャよりはGUIアーキテクチャについて重点的に解説し、各アーキテクチャパターンの比較を厚めに語ります。
他にSwiftUI系のトークが採択されている場合、SwiftUI自体の説明は他所に任せ、歴史を踏まえた解釈にのみ重点を置きブリッジに努めます。