ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Storyboard VS Code(Programmatically)
    iOS 2021. 12. 21. 19:37

    안녕하세요.

     

    오늘은 UI를 작성하는 대표적인 두 방법

    스토리보드코드로 작성

    두가지 방법을 비교해보도록 하겠습니다.


    Storyboard

    장점

    1.  UI를 즉시 시각적으로 확인할 수 있다.

     

    스토리보드로 UI를 작성한다면 가장 눈에 띄는 장점이 있죠?

     

    앱을 실행시키지 않아도 바로바로 UI를 확인할 수 있습니다.

     

    프로젝트에서 디자이너가 존재해서 디자인 가이드가 존재한다면 더할나위 없이 좋겠지만

    그렇지 않을 수도 있습니다.

     

    그럴 경우에는 작성한 UI를 즉시 확인할 수 있는 스토리보드가 강점을 보입니다.

     

    2. ViewController의 코드 길이가 매우 짧아진다.

     

    View가 화면에 표시되기 위해서는 Frame이 필요합니다.

     

    즉, (x, y, width, height) 값을 모두 알아야하는데

     

    만약 오토레이아웃을 적용한다면 View 하나당 코드가 적어도 2줄 이상씩 늘어나겠지요.

     

    단점

    1. Storyboard의 크기가 방대해질 경우 로딩이 느려진다.

     

    화면이 10개, 20개로 늘어날 경우 하나의 스토리보드만 사용한다면

    로딩이 매우 느려질 수 있다는 단점이 존재합니다.

     

    하지만 이는 화면 단위로 스토리보드를 분리한다면 어느정도 극복이 가능합니다.

     

    2. 충돌이 일어날 경우 해결하기 어렵다.

     

    스토리보드는 결국 xml파일 인데요.

    위와 같이 생겼습니다.

     

    따라서 스토리보드 파일에서 충돌이 일어날 경우 해결하기가 어렵습니다.

     

    3. 필요하지 않은 ViewController들이 생겨나서 메모리 낭비 현상이 발생한다.

     

    스토리보드를 이용하면 ViewController들이 자동으로 생성되는데요

     

    이는 개발자가 따로 ViewController를 init 해줄 필요없다는 장점이 있기도 하지만

     

    사용하지 않는 ViewController들이 생겨 메모리 낭비가 발생합니다.

     

    이는 프로젝트 빌드 시간만 비교해도 쉽게 확인할 수 있습니다.


    Code(Programmatically)

    장점

    1. Storyboard로 할 수 있는 것은 모두 코드로 작성할 수 있다.

     

    스토리보드를 사용하다보면 결국 코드를 작성해야하는 일이 생길 수 있습니다.

     

    테두리를 그리는 경우가 대표적인 예입니다.

     

    반면에 스토리보드로 할 수 있는 것은 모두 코드로 작성할 수 있습니다.

     

    2. 문법적 의미가 존재해 이해하기 쉽다.

     

    개발자들에게 코드로 작성되어 있다는 것은 매우 큰 메리트입니다.

     

    코드는 결국 문법적 의미가 존재하는 것이기 때문에 다른 사람이 봤을 때도 이해하기 편합니다.

     

    이는 코드 리뷰도 가능하게 하고 충돌 발생시 해결하기도 쉽습니다.

     

    3. 빠르다

     

    스토리보드를 사용하면 결국 xml을 파싱해서 코드로 변환시키는 작업이 포함되는데

     

    코드로만 작성하면 이러한 과정이 사라져 성능면에서 유리합니다.

     

    단점

    1.  ViewController의 길이가 길어진다.

     

    스토리보드의 장점이 곧 코드의 단점인데

     

    코드로 작성하게 되면 View를 그리는 코드들이 ViewController에 작성되게 되므로

     

    ViewController의 길이가 매우 늘어납니다.

     

    2.  앱을 실행시켜야 UI를 확인할 수 있다.

     

    코드로 작성했을 경우 결국 UI를 확인하기 위해서는 앱을 실행시켜야 합니다.

     


     

    이렇듯 두 방법 모두 장단점이 존재하는데요.

     

    어떤 방법이 정답이라고 말할 수는 없을 것 같습니다.

     

    각 프로젝트 상황에 맞게 팀원들과 상의해서 결정하는 것이 중요합니다.

     

    오늘은 여기까지 하겠습니다.

    'iOS' 카테고리의 다른 글

    동시성 프로그래밍(1) Sync(동기) VS Async(비동기)  (0) 2022.02.03
    setNeedsDisplay & setNeedsLayout  (1) 2021.12.23
    Hugging & Compression Resistance  (0) 2021.12.21
    ARC(Automatic Reference Counting)  (0) 2021.12.20
    ViewController Life Cycle  (0) 2021.12.16
Designed by Tistory.