RN 3년차 개발자인 내가 iOS Storyboard를 처음 써보고 빡친 오늘

나는 퍼블리싱 3년 + RN 3년차 개발자다.
그동안 앱 UI는 거의 다 RN으로 만들었다.
레이아웃 때문에 머리 쥐어뜯은 적도 많지만, 그래도 RN은 이해는 가는 세계였다.
그런데 이번에 iOS 네이티브를 공부하면서
Storyboard + AutoLayout을 처음 제대로 만져봤다.
결론부터 말하면 개쓰레기다
RN에서는 버튼 하나 가운데 놓는 게 그냥 이거다
<View style={{ paddingHorizontal: 20, justifyContent: 'center' }}>
<Button title="Change City" />
</View>좌우 패딩 20
세로 가운데 정렬
반응형 자동
에러 나면 바로 뜸
내가 쓴 코드 그대로 화면에 나옴
생각한 대로 나온다.이게 RN에 익숙한 이유다.
근데 Storyboard는 같은 걸 하려면 이걸 다 해야 한다
버튼 하나 가운데 놓으려고:
Leading
Trailing
Height
CenterY
Top, Bottom 충돌 확인
부모 View 제약 확인
StackView 제약도 또 확인
이쯤 되면 이런 생각이 든다.
“아니… 버튼 하나 놓는데
내가 지금 구조공학 실험을 하고 있는 건가?”
심지어 Top이랑 Bottom을 동시에 걸면 CenterY가 씹힌다는 것도 직접 한 번 당해보고 나서야 안다.
이건 진짜… 써본 사람만 아는 분노 포인트다. 이걸 왜 왜 쓰는걸까
제일 빡치는 건…
미리보기가 전혀 일치하지 않는 것
난 safe area 기준으로 작업했는데 아무리 미리보기를 봐도 위아래 영역이…. safe area가 너무 좁아보이는거다 그리고 run하니까 제대로 나옴… 참나 어쩌라고
RN은:
미리보기에 보이는 게 거의 그대로 나온다.
그래서 믿고 작업할 수 있다.
Storyboard는:
미리보기에서는 가운데 있음
실행하면 아래로 쏠려 있음
다시 고침
또 실행
또 다른 데로 가 있음
이 순간 드는 생각은 딱 하나다.
“그럼 이 미리보기는 왜 존재하는 거지…?”
UI 툴에서 ‘보이는 대로 나온다’는 신뢰가 제일 중요한데,
Storyboard는 그 신뢰가 없다.
그래서 계속 고치고 실행하고 어? 또 다르고 다시 고치고 이 무한 반복이 시작된다.
이게 진짜 멘탈을 갉아먹는다.
GPT돌려보니 실무에서는 그냥 코드로 돌리는 사람들이 많은거 같다
NSLayoutConstraint.activate([
button.leadingAnchor.constraint(equalTo: container.leadingAnchor, constant: 20),
button.trailingAnchor.constraint(equalTo: container.trailingAnchor, constant: -20),
button.centerYAnchor.constraint(equalTo: container.centerYAnchor),
button.heightAnchor.constraint(equalToConstant: 80)
])
이게 RN이랑 사고방식이 더 비슷한듯
조건이 코드로 다 보이고
충돌이 나면 바로 추적 가능하고
미리보기를 안 믿어도 되고🔥🔥🔥🔥🔥🔥🔥
실제 결과가 예측 가능하다
Storyboard는 결국 UI 배치용 스케치 도구처럼만 쓰이고, 진짜 레이아웃은 코드로 잡는 이유가 다 있는거같다.
블로그에 이런거 쓰기시른데 진짜 오늘은 저따위로 공부시간이 끝나서 쓸게 화남 뿐이다. SwiftUI를 공부할땐 이러지 않기를 바라며………