RSS Etsy Engineering | 코드는 예술입니다.

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

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