Skip to content

UIKit vs SwiftUI

yuncheol-AHN edited this page Nov 4, 2024 · 1 revision

UIKit vs SwiftUI

기획에 따른 프레임워크 선정
UIKit vs SwiftUI

UIKit 장점

  • 아직 많은 회사들이 사용함
  • 익숙해서 사용하기 편함 (영현기준..)
  • 뷰 구현에 있어서 불가능은 없다..?
  • 라이프사이클별로 관리 가능

UIKit 단점

  • 언젠가 사용하지 않을 수도…?
  • 오토레이아웃 번거로움
  • build-run-해당depth까지 들어가서 확인 필요
  • 라이프사이클 관리 필요(장단점이긴 함)
  • 파일 하나 당 코드가 너무 김 e.g. Delegate & DataSource 채택하면..

SwiftUI 장점

  • 뷰 그리는 측면에서 편하다
    • 레이아웃
    • 재사용성
  • 선언형 방식을 잘 알고 있다면, UIKit보다 훨씬 유용할 것 같음
  • 즉시 결과를 확인할 수 있다 (Preview)
  • 의존성 주입이 굉장히 편리하다 (e.g. Environment 어쩌고..)
  • 직관적이다 (= MZ하다 생각합니다)

SwiftUI 단점

  • 디자인대로 정교한 레이아웃을 잡기가 어렵다..
  • 선언형 방식이 익숙하지 않아서 러닝커브가 있음 (영현기준..)
  • SwiftUI로 구현이 어려운 부분이 있다
  • 뷰 계층구조 디버깅할때.. 뭔가 뎁스가 엄청엄청 깊었던 것 같은..
  • 코드 뎁스가 너무 깊다;;
  • 구체적으로 어떻게 동작하는지 몰라 최적화에 의문이랄까… 걱정이랄까…(잘몰라서 그런듯)

UIKit 정리

  • 기획에 따라 뷰가 복잡할 수 있을 것 같은데 커버 가능하다고 봄
  • 러닝커브가 없다
  • 다른 기술적 고민을 할 시간이 많아질 수 있음
    • 캐싱, 최적화 .. 등등
  • 뷰 그릴 때 SwiftUI와 병행할 수 있긴 함
    • ViewModel & Coordinator에서 애매해질 수 있음

SwiftUI 정리

  • 모두가 경험이 없음
  • 러닝커브가 존재함 6주라는 시간 고려해보기
    • TCA 아키텍처
    • 내부 동작 원리
  • 병행하려면 ViewModel을 좀 신경써야 함 (둘 다 가능한 형태로)

결론

SwiftUI냐…. UIKit이냐…. 그것이 문제로다….

마지막 한마디

  • 효준
    • 6주를 생각했을 때, TCA 아키텍처 & 스유 내부동작까지 학습하기 어려울 것 같음
    • 제가 UIKit을 잘 아는 게 아니기도 함 (특히 컬렉션 뷰,,)
    • 취준 입장에서 UIKit은 필수라면, SwiftUI는 우대사항
    • 팀원 4명이 UIKit 할 줄 아니까 얼른 구현하고 최적화에 신경쓰고 싶다..?
  • 영현
    • 솔직히 스유…하고는 싶지만 그냥 제 개인적인 욕심인 것 같숩니다.. 유킷이 훨씬훨씬 쉽고 빠르게 개발할 수 있을 것 같기도하고 현실적으로 ..
  • 윤철
    • 아주아주 개인적이지만 이번 6동안 UIKit 사용하고, 이 후 간단한 프로젝트만들면서 SwiftUI 써보고 싶네요.
  • 정현
    • 프로젝트 기간관점: UIKit으로 해야 6주 이내에 쇼-부를 볼 수 있을 것같다…
    • 병행 솔직히 추천 안합니다…. (졸프 괜히 병행했다가 곹옹 받는 중…)

정리

  • UIKit 으로 결정
  • UIKit 결정한 만큼 빠르게 개발하고, 최적화나 성능 개선에 힘 써보기
  • 정말 빠르면 배포까지..? → 무조건 하겠단 마인드 ^_^
    • 무조건이져 ^◡^

Clone this wiki locally