storyboard
장점
- 결과물을 예측하기 쉬움
- 속성을 쉽게 확인가능
- 소스코드를 일일히 파악하지 않아도 UI 확인 가능
단점
- 무겁다 ( 스토리 보드 분리로 해결 가능 )
- 링크가 끊어졌을 때 파악하기 힘들다 ( IBOutlet, IBAction )
- 협업 문제 ( Diff 로 알기 힘들고, Conflict 나면 해결 어려움 )
Code Base
장점
- 가볍다 ( 코드만 나와 있으므로 )
- Diff 만 보고 파악하기 쉽다
- Conflict 발생 가능성이 낮아진다
단점
- 해당 컴포넌트를 숙지하고 있어야 한다.
- 어떤 화면이 만들어질지 파악하기 힘들다.
- 코드가 상당히 길어진다
code base 기반 작성법
Auto Layout 사용 / Auotoresizing 은 더 이상 사용 X
- NSLayoutConstraint 를 일일히 작성
- Visual Foramt Language 사용
- Anchor 사용
추가적으로 Snapkit 과 같은 라이브러리를 사용하여
코드 가독성과 개발 효율성을 늘릴 수 있다.
어떤 방식이 좋을까?
대부분 개발자분들의 공통된 의견은 "팀과의 협의를 통해 결정하고, 필요하면 혼용한다." 였습니다.
StoryBoard 로만 구현이 불가한 UI 도 존재하기 때문에, 두 영역 모두 학습해야 한다고 생각됩니다.
참고:
http://letswift.kr/2019/resources/Session10_JungwooLEE.pdf Let's Swift 2019 섹션 9
'iOS Dev' 카테고리의 다른 글
iOS 에서 Call Stack 으로 버그 해결하기 (0) | 2021.07.10 |
---|---|
Swift 첫 오픈 소스 기여 후기 ( Open Source PR ) (0) | 2020.09.10 |
Xcode "Plain Style unsupported in a Navigation Item" 해결하기 ( StoryBoard ) (0) | 2020.07.04 |