SwiftUIのコード品質を高めるために、フレームワークの内部動作を理解したいと思ってた。公式ドキュメントや WWDC のセッション動画も見たけど、どうしても『なぜこの設計なのか』という疑問が残る。そんなときに見つけたのが OpenSwiftUI。
GitHub を見た最初の印象は『えっ、SwiftUI を0から再実装してるの?』という驚き。Appleが非オープンソース化したSwiftUIのソースをリバースエンジニアリングしたわけではなく、仕様を読み込んで『こういう構造になってるはず』という推測で実装してる。git clone して、Xcode で開いて、View.swift や State.swift を読み始めたとき、『あ、Stateってこんなメカニズムなんだ』と一気に理解できた。
ここが特に良かった。Viewプロトコルの実装を見ると、_makeView というメソッドがどう動いてるのか、@Stateが値の変更をどう追跡してるのか、具体的なコード例で分かる。今までドキュメントで『ViewはProtocolです』と読んでも、実際のパフォーマンスチューニングするときに『どこをいじるべきか』が曖昧だった。けど実装を読むと『ここでキャッシュされてるから、ここは最適化できないな』という判断ができるようになった。特にカスタム ViewModifier を書くときに、無駄なリレイアウトを避けるコツが見えてくる。
気になった点は、このプロジェクトが完全には Appleの実装と一致していない可能性があるってこと。あくまでコミュニティの推測なので、細かい部分で本物と違う可能性がある。また、ドキュメントがまだ薄いので、コードを読む前にかなり SwiftUI の基礎を理解してないと、逆に混乱するかもしれない。
SwiftUIでカスタムビュー作ってる人、パフォーマンス最適化してる人、フレームワークの内部動作に興味ある人は、一度コードを読んでみてほしい。『なぜこの実装なのか』が分かるだけで、アプリの設計が変わる。