
프론트엔드
물 흐르듯 자연스러운 화면 전환을 향한 여정
두줄요약
LINE iOS 대화방의 화면 전환을 더 자연스럽게 만들기 위해 FluidTransition을 설계하고 구현한 과정을 공유했습니다. 중단 가능성과 입력 반응성, 스냅샷 성능까지 고려한 전환 개선 경험을 소개했습니다.
핵심 내용
- LINE iOS 대화방의 사진·동영상 탐색 화면 전환을 더 물 흐르듯 자연스럽게 개선한 FluidTransition 프로젝트 소개
- 기존 전환 코드의 중복과 복잡성을 해결하기 위해 재작성했고, 재지향성·중단 가능성·추상화·가독성·편의성을 목표로 설계
- UIViewPropertyAnimator와 UIKit 전환 프로토콜을 활용해 방향 전환과 중단이 가능한 인터랙티브 전환 구현
- 스냅샷 생성 비용, 입력 반응성, 동시 전환 요청 통제 같은 성능·운영 이슈와 대응 방법 정리
적용해볼 점
- 인터랙션이 중요한 화면에서는 사용자의 의도 변경과 취소를 즉시 반영하는 전환 설계 고려
- 스냅샷 방식과 타이밍을 상황에 맞게 선택해 메인 스레드 부담과 프레임 드롭 최소화
- 전환 로직을 공통화하고 프로토콜 기반으로 추상화해 재사용성과 유지 보수성 개선