안녕하세요 Wody입니다!
마지막 포스팅으로부터 약 2달 정도가 지났는데요 ㅎㅎ...
그래서 지금이라도 다시! 블로그로 기록을 남겨보자는 마음에 글을 작성하게 됐습니다.
오늘의 주제는 UI구현을 스토리보드로 할지, 코드로 할지에 대한 고민입니다.
이 주제는 구글에 검색만 해보아도 많은 분들이 다룬 글을 확인할 수 있는데요.
먼저 많은 글들에서 이야기하는 장단점을 간단하게 다뤄보고 제 생각을 이야기해보려고 합니다.
스토리보드 UI의 장단점
장점
- UI 구성을 한눈에 확인할 수 있다
- View에 어떤 속성과 값을 설정했는지 확인하기 쉽다
단점
- StoryBoard 구현을 위해 Xcode 메모리가 올라간다. (이 부분은 기능별로 StoryBoard를 분리하면 해결 가능)
- 협업시 StoryBoard 충돌 혹은 이슈가 발생할 수 있다
- 인터페이스빌드와 StoryBoard 간 연결을 추적하기 어려울 수 있다
코드 기반 UI의 장단점
장점
- 스토리보드와 비교했을 때 Xcode가 가벼워진다
- 협업시 충돌 위험도가 낮아진다
- 스토리보드에 비해 View의 재사용성이 좋다
단점
- View가 어떤 모습을 갖고 있을지 한눈에 파악하기 어렵다
- View의 속성 및 기능을 숙지하고 있어야한다 (스토리보드처럼 기능에 대한 표시를 해주지 않음)
- NSLayoutConstraint를 통해 AutoLayout을 설정해줘야 하는데 귀찮고 복잡하다 (SnapKit 라이브러리를 통해 극복 가능)
Wody는 어떤 방법을 추천하나요?
간단한 UI같은 경우엔 StoryBoard가 더 나은 선택지가 될 수 있습니다. 반대로 프로젝트 진행에 Code Base가 더 나은 방법이라고 생각되면 코드로 UI를 만드는게 나을 수 있습니다.
그런데 간혹 View Life Cycle에 따른 설정이 필요하다면 Code Base가 최선의 선택이 될 수 있습니다.
커스텀 뷰를 만들어 사용하는 것 또한 마찬가지구요.
어떻게 보면 Code Base 만능! 이라고 말하는 것 같지만 뭐 사실인 것 같습니다.
스토리보드로 구현하는 UI는 코드로 전부 구현 가능하기 때문입니다.
하지만 현업에서는 StoryBoard도 사용하는 경우가 있기 때문에 두 방법 모두 사용할 줄 아는게 좋습니다.
'iOS' 카테고리의 다른 글
[iOS] Framwork? Liberary? 프레임워크와 라이브러리의 차이 (0) | 2022.09.14 |
---|---|
[iOS] 오토 레이아웃(Auto Layout) (0) | 2022.03.21 |
[iOS] UILabel에 취소선 (strikethroughStyle) 적용하기 (0) | 2021.10.09 |
[iOS] Unable to activate constraint with anchors Error (0) | 2021.10.04 |
[iOS] Storyboard 없이 코드로 UI 구성하기 -1- (0) | 2021.08.27 |