본문 바로가기
SwiftUI

[SwiftUI] SwiftUI를 처음 만나서... 개요

by eigen96 2022. 10. 18.
728x90

멋쟁이 사자처럼 iOS 스쿨 1기 커리큘럼은 UIKit이 아닌 SwiftUI를 중점으로 다루게 될 예정입니다.

그래서 지원했습니다!!! 

 

 

 

욕심을 가지고 Mopet 외주 프로젝트에 참여하면서 매주 마감에 시달리고
Bidit앱 리팩토링도 꾸역꾸역 해보겠다고 매주 PR을 날리겠다고 약속했지만
낯선 Swift코드 스타일과 현재 코드의 레이어를 분리하는 작업부터 막혀서 그동안 정말 헛공부한 것 같다고 느끼고 있는 요즘...
당장은 UIkit을 이용하는 것도 매번 새로운 부분과 헤매는 부분이 나오고... 


근데 이러다가 아마 기업에 들어가면 SwiftUI를 당연하게 사용하게 되는 시점이 오겠죠?

지금 이 패턴이라면 절대로 미리 공부를 안 할 거 같았어요.
이번 하반기가 제 첫 커리어를 바꾸는 중요한 시기로 만들고자 버텨보려고 합니다.

 

올해로 4살이라고 하네요. SwiftUI

지금 한창 많이 쓰고 있는 스위프트. 처음 2014년에 나온 후 Swift 4.0까지 출시되면서 급격하게 바뀌고 쓸만해졌다고 합니다.

따라서 SwiftUI도 이제 잘나갈때가 되었다라는 말로 들리네요.

2.0이 나올 때 SwiftUI가 많은걸 할 수 있다고 말했지만 한계가 명확했다고 해요. 저도 오늘 수업을 듣기 전까지는 그다지 끌리지 않았습니다. 

항상 UIKit으로부터 자유로울 수 없다는 말을 많이 봐왔기 때문이었죠.

그런데 강사님께서는 그것도 이제 옛날이야기가 될거라고 하십니다. 정말 그럴까요??

 

SwiftUI

  • 2019 WWDC
  • 현재 버전 SwiftUI 4.0
  • 개발을 더 빠르고 쉽게하는 걸 추구
  • 버그 줄이기

UIKit 과 SwiftUI 비교

UIKit 단점

  • XIB에서 StoryBoard로 확장되면서 재사용 문제 발생.
    • IB와 코드를 연결할 필요
    • IB의 뷰가 중첩되면서 숨은 뷰 설정 어려움
    • 애니메이션 어려움
  • 코드로 화면구성을 한다면?
    • 오토레이아웃의 복잡함, 코드는 더 복잡함
  • 시간 오래걸림. 생산성 감소 

 

소개해주신 UIKit의 단점에 아주 격하게 공감하였습니다.

애니메이션은 매번 구현할 때마다 비호감이었고 

안드로이드에서 XML로 직접 레이아웃을 배치해오다가 스토리보드와 Xib를 처음 본 순간부터 아주 거부감이 들었습니다.
재사용도 쉽지않아서 스트레스를 많이 받고 있었습니다.

결국 질려버려서 코드로 화면구성을 하는 게 편하더군요.

하지만 다수의 인원이 투입되거나 다른 사람의 코드를 유지보수해야한다면 바로 뷰를 확인하기가 쉽지 않은 게 현실이라서 이것또한 한계가 명확하다고 생각합니다.

SwiftUI 장점

  • Live Preview제공
  • 선언적 구문(decorative syntax)
  • 데이터 주도(data driven)

신기한 타이밍에 지인분께서 리액트 네이티브로 iOS 레이아웃을 구성하는 방식을 질문해주셨습니다.

경험이 없어서 답변을 드리기 어려웠던 저는 여기저기 질문을 하면서 조사해보았고

리액트쪽은 전혀 생각도 관심도 안 가지고 있었는데 관심이 생기기 시작하였습니다.

swiftUi 경우 현재 모바일에서 유행하는 선언형 UI인데 선언형 UI 전신이 리액트에서 번응형 프로그래밍을 위해 고안되서 현재 플러터 UI swiftUI 안드로이드 Jetpack compose 모두 리액트랑 비슷한 형태로 UI 작성하고 있다라고 해요.

iOS 개발자 단톡에서 리액트 구조도 한 번 공부해보는 걸 추천해주셨습니다. 일단 SwiftUI부터 공부해보고 비교해보면서 시야를 넓혀봐야겠습니다.

 

아무튼 한마디로 SwiftUI와 리액트와 Jetpack중 하나만 잘 이해해도 다른 영역을 이해하는데 도움이 될 것 같다는 생각이 드네요.

 

 

 

728x90

댓글