핵심 요약
데브시스터즈의 iOS 팀은 async/await로 전환한 경험을 공유하며, completion handler의 복잡성과 retain cycle 위험을 제거하고 구조화된 동시성의 이점을 소개합니다.
주요 경험
- 중첩된 콜백의 가독성과 실수 가능성을 줄이기 위해 async/await 도입
- self 캡처로 인한 retain cycle 위험 감소 및 nil 처리의 복잡성 축소
- try await 도입으로 컴파일 타임 에러 체크 강화 및 에러 처리 간소화
- 시스템이 스레드를 관리하는 구조로 스케줄링 오버헤드를 줄이고 UI 업데이트를 안정화
- continuation(연속 실행) 개념으로 스레드 고정 없이 재개되는 흐름 이해
얻은 인사이트
- suspend→resume 흐름이 UI 반응성과 비동기 작업의 균형에 중요한 영향을 준다
- continuation 기반으로 스레드 고정 필요가 감소해 개발자 실수가 줄어든다
- 컴파일 타임 체크로 에러 핸들링이 빨라져 코드 안정성이 높아진다
- 시스템 주도 스레드 관리로 스케줄링 부담이 줄고 리팩토링이 수월해진다

