Swift UI에서 Deals 탭을 어떻게 구축했는지 노트

Swift UI에서 Deals 탭을 어떻게 구축했는지

2023년 7월, Etsy의 앱 업데이트스 팀은 업데이트스 피드를 쿠폰 및 세일 허브인 Deals로 개편하는 프로젝트를 시작했습니다. 팀은 현대 기술인 Swift UI와 Tuist를 사용하여 새로운 탭을 완전히 새로 개발하는 것을 고려했습니다.ambition과 현실을 균형잡으면서, 팀은 하이브리드 접근 방식을 채택하여 Swift UI를 모듈식 개발 및 미리보기 가능성을 위해 사용하고, 네비게이션 및 기타 기능에 대한 기존 UIKit 코드베이스와 통합했습니다.Swift UI의 모듈식 구조는 뷰를 재사용 가능한 구성 요소로 나누어 빠른 개발 및 Tuist와 함께 효율적인 미리보기를 가능하게 했습니다.Decodable 모델을 사용하여 API 파싱을 분명하고 효율적으로 처리할 수 있었고, 뷰 구축 및 옵셔널 처리를 간소화했습니다.미리보기 열거형을 도입하여 복잡한 뷰에 대한 모의 데이터 생성을 간소화하여 API 지원이 완료되기 전에 모듈을 구축할 수 있었습니다.그러나 기존 코드베이스와의 통합은 특히 네비게이션 및 즐겨찾기와 같은 영역에서 어려움을 초래했습니다.이러한 문제를 해결하기 위해, 팀은 DealsAction이라는 사용자 정의 @Environment 구조를 생성하여 네비게이션 책임을 주요 대상으로 되돌려보냈고, Swift UI의 callAsFunction() 기능을 유지했습니다.환경 개체를 사용하여 다른 기능, 즉 상점 팔로우, 성능 지표 로깅 등도 구현했습니다.이 하이브리드 접근 방식은 현대 기술의 이점을 활용하면서 레거시 코드베이스의 제약을 존중하는 데 성공하여 사이버 위크 데드라인 전에 제품을 성공적으로 출시할 수 있었습니다.