『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと by Akihiro Kokubo

iOSDC Japan 2025
採択
スポンサーセッション(20分)
スポンサーセッション

『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと

akihiro_kokubo Akihiro Kokubo akihiro_kokubo
1

『ホットペッパービューティー』のiOSアプリは、UIKitからSwiftUIへの移行を進めており、UIコンポーネントの実装と、単一画面ごとの実装とリリースにフェーズを分け、段階的に移行しています。このアプリは、9年前にObjective-CからSwiftへのリプレイス時にUIKitで実装され、現在では年間2億件近いサロン予約を支えるアプリです。

UIKitからSwiftUIへの移行と聞くと、単にプレゼンテーション層を書き換えて完了と思いきや、そう簡単な話ではありませんでした。
システムがモノリシックな構成であったため、Xcode Previewsの動作は重くSwiftUIの良さが活かせず、マルチモジュール化を進めました。
Figmaで定義されたUIコンポーネントとコードベースとの間には構造上の乖離があり課題でした。そこで、改めてデザイナーの意図が実装に反映され、再利用性が向上する形で各UIコンポーネントをSwiftUIで実装しました。合わせて、命名規則の統一、コンポーネント間の一貫性の担保、不足パターンの追加などデザインガイドラインの整備を行いました。
また、テストやデザインの受け入れなど、周辺の開発プロセスも軽視できません。Xcode Previewsを活用して、自動でスナップショットテストを作成し、UIカタログアプリを配布する仕組みを整えました。
さらに、既存仕様が必ずしも単純とは限りません。多面的なプロダクト仕様をいかに品質を落とさず置き換えるかという観点で、LLM(大規模言語モデル)を活用しました。

本セッションでは、UIKitからSwiftUIへの段階的な移行に関して、背景や目的、直面した課題と方針、コンポーネント実装と画面実装のフェーズ、デザインガイドラインの整備、Previewsを活用したテストやUIカタログの準備、さらにLLMの活用についてお話しします。