IOS 개발/개념

[Swift] Storyboard

얌자 2023. 3. 16. 01:44

Swift에서 UI를 그려주는 방식에는 두가지가 있습니다.

  1. 코드
  2. Storyboard

이 글에서는 Storyboard가 무엇이며 사용할때의 장단점을 다뤄보겠습니다.

1. Storyboard 란 🛹

IOS Application의 UI의 흐름을 시각적으로 표현한 것으로 화면의 내용과 화면간의 연결을 보여줍니다.

viewController와 view로 이루어진 scene의 집합으로 이루어져 있고 scene들은 두 개의 viewController의 전환을 나타내는 segue 객체 (아래 이미지의 화살표)로 연결되어 있습니다.

 

2. 장단점


장점

  • 결과물을 예측하기 쉽고 속성을 쉽게 확인 가능
  • 코드를 일일히 작성하지 않아도 되기 때문에 시간 절약
  • segue 객체를 통해 scene들을 연결하기 때문에 앱 내에서의 화면 전환이 간편

단점

  • 화면이 많아지면 로딩이 오래걸림
  • 화면의 디자인이 복잡할 경우 가독성이 떨어질 수 있음
  • Storyboard 파일이 깨지거나 충돌할 경우 복구가 어려울 수 있음
  • 협업 시 merge conflict 해결이 어려움
  • Storybaord를 열기만 해도 수정사항이 생기므로 git add . 할 때 구분 필요

코드로 UI를 작성했을 때의 장단점도 알아보겠습니다.

장점

  • 코드만 나와 있으므로 비교적 가벼움
  • Conflict 발생 가능성이 낮아짐
  • 코드 재사용 용이

단점

  • 해당 컴포넌트 숙지 필요
  • 어떤 화면이 만들어질지 파악하기 힘듬
  • 매우 오래전에 작성된 코드라면 리팩토링이 더 어려워짐