본문 바로가기
Swfit

iOS 개발은 어떻게 해야할까요? 코드vs스토리보드

by GGShin 2022. 1. 17.

Udemy에서 수강하고 있는 Swift 강의에서는 스토리보드를 처음부터 사용했기 때문에 당연히 한가지 방법 밖에는 없는 줄 알았습니다. 중간에 코드로만 UI를 만들어보는 강의가 짧게 있기는 했지만 그냥 이런 방법이 있다고 소개해주는 줄로만 알고 넘겼었습다. 그런데 이번에 원하는 기능이 있어 유튜브를 많이 찾아보니 전체 다 코드로 작성하는 사람도 꽤나 있다는 것을 알 수 있었습니다. iOS Academy 채널에서 역시 전부 다 programmatically (all code based)로 알려주다보니 혼란이 오기 시작했는데요. 스토리보드를 사용할 게 아니라 코드 베이스로 어플을 구현해 나가야 하는지 고민이 되어 구글링을 해봤고, 결론은 정해진 답은 없다는 것이었습니다. 둘이 가진 장단점이 다르기 때문에 어느 것이 더 좋다고 얘기할 수 없다는 입장도 있고, 한 가지 방법을 선호하는 사람들도 있었습니다. 

 

그래서 한 번 스토리보드와 코드 베이스 각각의 차이점과 장단점을 살펴보려고 합니다. 

 

1. 스토리보드

스토리보드는 iOS UI Kittool에 가장 최근 도입된 툴입니다. 애플에서도 스토리보드 사용을 권장한다고 하는데, 많은 개발자들이 코드 베이스로 작성을 하는 것을 알 수 있었습니다.

  • 직관적입니다. : 바로 바로 보면서 원하는 화면 배치를 만들어 낼 수 있습니다. 그래서인지 개인적으로는 코드로 짜는 것보다 더 재밌다고 생각합니다. 
  • UI를 사용하기 편리합니다. : 드래그 앤 드롭으로 UI들을 화면에 배치하기만 하면 되기 때문에 상당히 편리합니다. 각 UI의 기능만 코드로 작성하면 되어 버튼, 텍스트 필드, 라벨 등을 코드로 만들 필요가 없습니다. 

2. 코드 베이스

웹페이지 제작을 위해 html을 작성하듯이 모두 다 코드로 작성해 화면을 구성하는 방법입니다. 아마 스토리보드를 접해보시지 않았다면 큰 어려움을 못 느낄 수 있지만, 저는 스토리보드 부터 시작을 했다보니 코드로 하나하나 다 짜야 한다는 것이 상당히 불편하게 느껴지고 시간 낭비처럼 느껴지기도 했습니다. 하지만 코드로만 작성하는 방법에도 여러 장점이 있습니다. 조사를 하다보니 오히려 왜 코드로 작성하려고 하는지 알것 같기도 하였습니다. 

  • 컨트롤이 용이합니다. : 스토리보드를 사용해 UI를 구성하게 되면 속성을 바꾸고자 할 때 각 UI별로 하나하나 바꿔야 한다는 번거로움이 있습니다. Label 텍스트 색상을 변경할 때에도 변경할 label을 일일이 다 바꿔 주어야 합니다. 하지만 코드로 작성한 경우에는 lable의 컬러와 관련된 코드만 변경하면 한번에 여러 ui에 변화를 줄 수 있기에 편리합니다. 
  • 복잡하고 규모가 큰 어플 제작에 적합합니다. : 하나의 스토리보드(View controller)에 이미지나 버튼의 수가 많아지게 되면 원하는 UI를 마우스로 선택하기가 어려운 건 사실입니다. 그렇기 때문에 스토리보드를 구성하는 요소들이 많은 경우, 뷰 컨트롤러의 수가 많을 수록 코드로 작성한 경우에 각 UI를 다루기가 편하다고 합니다. 

스토리보드를 사용하는 게 swift의 장점이라고 생각하였는데 아직까지는 한계가 존재하는 것 같습니다. 스토리 보드를 사용하면서 필요한 기능들을 먼저 익혀보고 코드로 작성하는 것도 무시하지 말고 차근차근히 배워서 손과 눈에 익혀두어야 할 것 같다는 생각이 들었습니다.

반응형