iOS 개발에서 UI를 구현하는 방식에는 크게 스토리보드를 사용하는 방식과, 코드로 구현하는 방식이 있습니다.
각 방식의 장점과 단점을 정리해봅니다.
스토리보드로 UI 구현시
장점
- 시각적 편의성: 스토리보드에서 UI컴포넌트를 드래그 앤 드롭으로 배치할 수 있으므로 레이아웃을 쉽게 구성할 수 있습니다.
- 코드량 감소: UI컴포넌트의 배치와 속성을 직접 코드로 작성하지 않아도 되므로 초기 코드량이 줄어듭니다.
- 화면 플로우 파악: 여러 뷰 컨트롤러와 세그웨이(segue)를 한눈에 볼 수 있어 앱의 전체적인 플로우와 네비게이션을 쉽게 파악할 수 있습니다.
- 인터페이스 빌더: 여러 편리한 기능들을 지원해 UI구성에 도움을 줍니다.(레이아웃 제약조건 설정, 미리보기 등)
단점
- 복잡성: 프로젝트가 커지면 스토리보드가 복잡해지고 로딩 시간이 길어집니다.
- 협업의 어려움: 협업시 StoryBoard를 사용하면 Git충돌이 발생하기 쉽습니다.
- 런타임 에러: 스토리보드에 설정된 값이나 연결이 잘못되면 런타임에 에러를 확인할 수 있습니다.
코드로 UI구현
장점
- Xcode의 가벼움: 스토리보드와 비교했을 때 Xcode의 메모리가 현저히 낮아집니다.
- 협업의 용이: 각 뷰나 컴포넌트를 별도의 파일로 관리하므로 동시에 여러 개발자가 작업하는 경우 충돌 확률이 낮아집니다.
- 재사용성: UI컴포넌트를 클래스나 함수로 분리하여 여러곳에서 재사용하기 쉽습니다.
단점
- 시각적 피드백: 코드로만 UI를 작성하면 UI의 최종 결과를 예측하기 어렵고 실행해서 직접 확인해야합니다.
- 코드량 증가: UI의 세부사항과 레이아웃을 코드로 정의해야 하므로 코드량이 많아집니다.
- 컴포넌트 기능 파악: 컴포넌트가 어떤 속성과 기능을 갖고있는지 숙지해야 사용할 수 있습니다.