해결된 질문
작성
·
266
·
수정됨
답변 1
1
안녕하세요!
먼저 강의 들어주셔서 감사드립니다. 하나씩 답해드릴게요
사람마다 개인차가 있어서 좀 다를 순 있지만 저는 iOS처음배울때 비동기, 통신 파트가 많이 어려운 부분중에 하나였습니다. 이건 SwiftUI로 배우나 UIKit으로 배우나 공통적인 부분이고요.
UIKit에서는 테이블뷰나 컬렉션뷰를 만드는 부분(SwiftUI에서 List나 Grid에 대응)이나 뷰를 만드는 방법이 1가지가 아닌점(Storyboard, xib, 코드) 이러부분들이 많이 힘들었던것으로 기억해요. 반면 SwiftUI는 이런 방법들을 아주 쉽게 구현할 수 있게해서 어렵지 않았고요
정말 어려운 질문이고, 저도 많이 고민해봤지만 뾰족한 답을 내리지 못한 부분인데요. 최대한 제가 생각한 부분을 말씀드릴게요.
UIKit: UIKit은 대체로 대기업에서 많이 사용합니다.(예전부터 사용해오던 프레임워크를 새로운 기능인 SwiftUI로 변경하는데 드는 리소스가 크고, 바꿨을 때 잘못될 수 잇는 위험부담이 있기 때문)
SwiftUI: SwiftUI는 보통 스타트업에서 많이 사용합니다. (새로 시작하는 프로젝트에 신기술을 사용하기가 상대적으로 쉬움)
그래서 어디에 취업하실지를 먼저 정하시고, 배울 프레임워크를 정하시는것도 하나의 방법이 될 수 있습니다.
다만 변수가 될 수 있는 요소들을 몇개 언급해드리겠습니다.
대기업은 신입의 경우 공채로 뽑는 경우가 많은데 공채의 경우 코딩테스트, 전공지식, 프로젝트경험 이렇게 3가지 요소를 보게 됩니다. 이때 프로젝트 경험은 UIKit으로 했던 SwiftUI로 했던 별로 상관이 없는 경우가 많습니다. 심지어 프로젝트 경험이 없어도 전공지식과 같이 다른지식이 뛰어나면 뽑기도 하고, 안드경험만 있어도 iOS에 뽑힐 수도 있습니다.(따라서 UIKit, SwiftUI 상관없음)
대기업 수시채용의 경우 바로 업무에 투입할 인력을 보기 때문에 회사에서 사용하고 있는 프레임워크를 잘 쓰는 사람을 뽑을 가능성이 큽니다.(대기업은 주로 UIKit을 쓰기에 UIKit 경험자를 선호함)
스타트업에서 iOS앱을 개발한다고 다 SwiftUI를 사용하진 않습니다. 그렇다고 UIKit은 더더욱 사용하지 않습니다. 사업 초기의 경우 인건비를 아끼기 위해 Flutter나 React Native와 같이 하나의 기술로 안드와 iOS를 둘다 개발할 수 잇는 기술을 사용하는 경우가 꽤 많습니다. 다만 사업이 성장하고 앱을 최적화하기 위해서 보통 iOS, android로 쪼개지는 경우가 많습니다.(스타트업 극초기엔 UIKit, SwiftUI모두 안쓰는 경우 많음, 약간 자리 잡으면 SwiftUI로 넘어 가는 추세)
따라서 대기업을 꼭 갈건데 공채를 노린다. -> UIKit, SwiftUI 아무거나 하나만 파면 됩니다.
대기업을 꼭 갈건데 수시채용을 노린다. -> UIKit이 수월함
스타트업 취직부터 시작한다. -> SwiftUI 추천(다만 제가 취직준비하던 시기(2020~2021)와는 다를 수 있어서 wanted나 로켓펀치같은 구직사이트에서 SwiftUI 일자리가 얼마나 있는지 검색하시기를 추천)
참고로 이렇게 말씀드리면 flutter나 react native가 괜찮아 보일 수도 있긴한데, 해당 기술은 또 대기업에서는 잘 사용안해서 나중에 이직하실 때 대기업으로 가는게 SwiftUI나 UIKit보다는 어려워질 수 있습니다.
대기업도 메인앱은 UIKit으로 개발하지만 신규서비스에 신기술을 도입하거나, 애플워치나 아이폰의 위젯기능, dynamic island와 같이 애플에서 SwiftUI로만 개발을 강제하는 경우가 있어서 언젠가는 SwiftUI로 점점 넘어갈거 같긴 합니다.(안타깝게도 언제인지는 불확실합니다. ㅜㅜ)
UIKit을 나중에 선택하신다 하시더라도, SwiftUI와 UIKit이 Swift라는 언어는 겹쳐있기때문에 어차피 50%는 겹친다고 생각하고, iOS 초반에는 사실 SwiftUI가 정말 쉽게 잘만들어서 SwiftUI로 앱에 대해 감을 좀 잡고 UIKit을 배워도 나쁘지 않다는 생각도 있어서 이번 강의 잘 마무리하시고 그다음에 잘 고민해보시기를 바랍니다.
소중한 답변 정말 감사합니다!!.