[Swift]Storyboard vs Code 장단점 간단 비교

okstring·2021년 8월 20일
0

storyboard

storyboard는 iOS5부터 도입됐다

장점

  • 결과물을 예측하기 쉬움. 속성을 쉽게 확인가능
  • 소스코드를 일일히 파악하지 않아도 UI 확인 가능
  • pop, push, present, dismiss를 코드로 치지 않을수도 있다.
  • 프로토타입 - 스토리보드는 사용자 인터페이스 및 흐름의 프로토타이핑 및 목업을 단순화한다.
    • SwiftUI 가 나온 지금에 와서 장점으로 불리기 애매함

단점

  • 화면 로딩 시 무겁다 (스토리 보드 분리로 약간 해결 가능)
  • 링크가 끊어졌을 때 파악하기 힘들다 ( IBOutlet, IBAction )
  • 협업 문제 ( Diff 로 알기 힘들고, Conflict 나면 해결 어려움 ) - 여러 storyboard로 나눈다
  • 데이터 흐름이 표시되지 않는다 prepareSegue에 의존 (storyboard만으로 데이터를 전달하려 할 때)
  • 앱이 커지면 커질수록 가독성이 떨어진다

Code Base

장점

  • 가볍다 (코드만 나와 있으므로)
  • Diff 만 보고 파악하기 쉽다. Conflict 발생 가능성이 낮아진다
  • Under the Hood - 모든 UI요소에 제어감각이 생긴다. raises your upper-bound as a developer.
  • 재사용 용이
    • 두 개 이상의 View가 똑같은 모습을 보이는 것 같지만 약간 다른 경우
    • 각각 특정 사용자 지정이 있는 앱을 만들어야 하는 경우, 두 개 이상의 서로 다른 애플리케이션을 생성해야 합니다.
  • storyboard로 구현하는건 다 코드로 다 구현이 가능하다(Launch screen 제외)
  • 성능 측면에서 스토리보드 및 nib는 loading 및 parsing 오버헤드에 영향을 받음. 결국 간접적으로 코드로 변환

단점

  • 해당 컴포넌트를 숙지하고 있어야 한다.
  • 어떤 화면이 만들어질지 파악하기 힘들다.
  • 매우 오래전에 작성된 코드라면 리팩토링이 더 어려워진다

reference

https://duwjdtn11.tistory.com/563
https://www.toptal.com/ios/ios-user-interfaces-storyboards-vs-nibs-vs-custom-code

profile
step by step

0개의 댓글