Server-Driven UI入門: 画面のStateを直接受け取るアプローチ by nade

iOSDC Japan 2024
採択
2024/08/22 19:20〜
Track D
レギュラートーク(20分)

Server-Driven UI入門: 画面のStateを直接受け取るアプローチ

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の導入が難しい方に対しても、極端な事例を通じて

  • どこまでのロジックをバックエンドで持つべきか
  • バックエンドとのシステム境界をどう考えるべきか

といった疑問への一つの指針を提供します。