【iOSDC2024 day0 19:20 track D】
Server-Driven UI入門: 画面のStateを直接受け取るアプローチ
https://fortee.jp/iosdc-japan-2024/proposal/1f93f00d-02ba-4a5a-8554-c69e7baef816
SwiftUIの登場によって、画面のStateを使ってUIを構築するState-Drivenなアプローチが可能になりました。
クライアントでは、バックエンドからいくつかのAPIをコールし、それらを組み合わせて画面のStateを構成し、SwiftUIのViewに渡すことでUIを表示することができます。
では、画面に一つのAPIで画面のStateをそのまま受け取れる場合、クライアント側にはどのようなロジックが残るでしょうか?
if文やSwitch文のような分岐を持たないアプリは実現できるのでしょうか?
本トークでは、BFF(Backend for Frontend)と呼ばれるクライアント用の中間サーバーを活用し、
可能な限りロジックをバックエンドに寄せたServer-DrivenなUI構築を実務で取り組んだ経験を通して
要件に合わせたResponse構成の工夫
Server-DrivenなUI構築が上手くハマる具体的な事例
といった、クライアントが可能な限りプレゼンテーションロジック以外を持たない構成とその活用について紹介します。
さらに、本トークでは実際にBFFの導入が難しい方に対しても、極端な事例を通じて
どこまでのロジックをバックエンドで持つべきか
バックエンドとのシステム境界をどう考えるべきか
といった疑問への一つの指針を提供します。