storyboard에 대해 검색하다보니 처음부터 이를 삭제하고 xib를 이용해 개발한다는 게시물을 보았습니다.
xib는 단점으로 성능이 느지만 merge할 때 충돌이 적고 하나의 UI를 여러 class에서 공유하여 사용할 때 좋다는 글을 읽었습니다. 또다른 게시글에선 xib가 오히려 병합하기 어렵다고 적혀있는데 무엇이 맞는지 궁금합니다… Storyboard와 xib 둘 다 장단점이 있는 것 같은데 대부분 둘을 동시에 사용해 개발하는지, 혹은 처음에 본 게시물처럼 여러명이서 개발할 때 Storyboard 대신에 xib를 사용하는 경우가 많은지 궁금합니다.
좋아요 3
스토리보드 이전에는 xib를 사용했었어요. 그후 스토리보드가 나오면서 xib 대신 스토리보드를 점점 사용하게 됐습니다.
xib는 보조 수단으로 계속 사용해왔습니다.대표적으로 xib를 사용하는 경우가 테이블 뷰의 커스텀 셀이 있습니다.
스토리보드에서 셀은 하나의 테이블 뷰에 종속된 상태라서 다른 테이블 뷰에서 같은 셀을 사용할 수 없는 한계가 있습니다. 그래서 같은 커스텀 셀을 테이블 뷰마다 작성해야 했습니다. 이 때 xib를 이용해서 공통으로 사용하는 테이블 뷰 셀을 작성하면 여러 개의 테이블 뷰에서 같은 셀을 사용할 수 있습니다.
스토리보드가 도입된 이후에, 일부러 메인 UI를 xib로 하지는 않는 거 같습니다. 스토리보드를 분리해서 사용하는 방법도 있으니까요.
앞으로는 SwiftUI가 그 자리를 이어받겠죠.
좋아요 1
하나의 스토리보드를 여러명이 작업하다가 충돌나는 게 걱정이면 스토리보드 분리시키는 것 추천드려요.
스토리보드 시대에도 xib를 함께 사용하긴 하는데, 저의 경우,
메신저 앱의 메세지 뷰를 만든 적이 있는데, 요즘 메신저 앱들은 채팅 타임라인 상에 표시하는 메세지 카드의 종류가 10여개가 됩니다.
그런데, 이 메세지 카드들은 실제 사용하기 전엔 굳이 로딩할 필요도 없죠.
스토리보드에서 뷰컨트롤러 옆에 View들을 만들어 둘 수도 있지만, 이렇게 하면 메모리를 미리 잡아먹어버리죠.
예를 들어 연락처 공유시의 카드는 굳이 미리 로딩할 필요가 없는 뷰 이잖아요?
이럴때 10여개의 메세지 카드 UI는 xib로 만드는 거죠.