株式会社any style / 業務委託(副業)
チャット画面のSwiftUI / MVVM対応
my-dear.アプリでは主要機能となる、VTuberとユーザのチャット画面をSwiftUI / MVVM化する実装を担当しました。 既存ではReduxベースのアーキテクチャをサポートするライブラリReSwiftとチャット画面の実装をサポートするUIKitベースのライブラリMessageKitを使用した実装になっていましたが、ReSwiftがマルチスレッドでの使用をサポートしていない点やMessageKitでの実装が煩雑化している点などがあり、リファクタリングに至りました。 チャット画面は無限スクロール(ページング)機能を保有していたため、SwiftUIでの実装はScrollView+LazyVStackを反転させ、スムーズなスクロールで追加読み込みが表示されるようにしました。 また、メッセージの種類が多く煩雑化しやすい仕様となっていたため、全てのメッセージを1つのenumにまとめて表示情報のModelを簡略化し、各々のメッセージをコンポーネント化することで実装の可読性向上と今後の改修効率向上に貢献しました。