SwiftUI를 처음 배우면서 UIKit과 달랐던 점과 막혔던 부분을 솔직하게 서술
UIKit만 써오다가 처음으로 SwiftUI를 쓴 것은 개인 토이 프로젝트였습니다. 목표는 간단한 할 일 목록 앱을 만드는 것이었는데, 선언형 문법이 처음에는 너무 낯설었습니다. 어디서 상태를 관리해야 하는지, @State와 @Binding의 차이가 무엇인지 헷갈렸습니다.
처음 이틀 동안은 화면을 그리는 것까지는 가능했지만, 버튼을 눌렀을 때 상태가 업데이트되었음에도 화면이 갱신되지 않는 현상이 계속 발생했습니다. 원인을 찾는 데 반나절이 걸렸고, 결국 @State를 써야 할 자리에 일반 변수를 사용하고 있었던 것이었습니다. 당연해 보이지만 UIKit에서 넘어오면서 상태와 뷰를 연결하는 개념이 다르다는 것을 몸으로 이해하는 데 시간이 걸렸습니다.
완성된 앱은 기능적으로 단순했지만, SwiftUI의 Preview 기능이 개발 속도를 어떻게 바꾸는지 실감했습니다. 코드를 수정하면 바로 화면에서 확인이 가능하므로 시뮬레이터를 자주 빌드하는 시간이 줄어들었습니다. 이 경험으로 SwiftUI를 팀 프로젝트에 사용하고 싶어졌고, 이후 팀 프로젝트에서 SwiftUI 도입을 제안했습니다. 설득이 되었고, 실제로 그 프로젝트에서 더 많이 배웠습니다.