SwiftUI를 적용해 보려는데 배포 타겟을 iOS 14에 맞춰야 쓸만 하더라고요.
현업에서 사용하시는 분 계신가요? 배포 타겟 몇으로 하시나요?
iOS 13 이라면 애로사항 없으신가요?
전반적인 현업 적용에 대한 소감도 알려주시면 도움이 많이 될 것 같습니다.
SwiftUI 너무 좋은데 적용하기가 장애물이 많네여.
뭘 커스터마이징이라는것을 할수가 없던기억이...(방법이 있어도 복잡한..)
당시엔 네이게이션 바에 색넣는것도 뭔가 좀 편법?같은 느낌의 방법을 써야했는데.. 요새는 모르겠네요.
그리고 캘린더쪽에 일반적인 달력모양이 보이게 하는 추가된 기능이 나왔을때 이전 os버전 에서는 문제가 생겨서
앱이 비정상종료되는것때문에 급하게 적용했다가 다시 원복한 경험도 있습니다.
최근엔 플러터를 공부해가며 하고있는데 이게 SwiftUI와 많이 비슷하더라구요. 그런데 이건 자유도가 높습니다.
생각보다 커스터마이징을 하기가 쉬워서. 앞으로도 안드로이드/아이폰 따로만드는 일은 없이 플러터로 할것 같습니다.
스위프트 UI가 커스텀이 어려운지는 잘 모르겠습니다... (플러터는 안해봐서 비교를 못하겠네요)
전 그렇지 않은 환경에서 와서 그런지 참 커스텀 하기 좋게 해놨다라는 생각이 들던데...
iOS14 SwiftUI 2.0은 나름 쓸만하다고 생각합니다... 만
iOS15의 SwiftUI 3.0은 많이 나아졌습니다.
(iOS 15 부터 기존 SwiftUI의 수없이 많은 기능들이 Deprecated 된건 덤...)
결론적으로 iOS14 이상으로 앱을 마이그레이션 하면서 개발하고 있습니다. (개고생 ing)
SwiftUI가 혁신적이라고들 말하지만 아직도 버그도 많고 UIKit 처럼 내부 구조를 일일이 튜닝하기가 쉽지도 않습니다.
(스크롤뷰의 원인 모를 버그/동작, 기본적인 화면별 스테이터스 바 appearance 변경 기능 부재, iOS14 SwiftUI Lifecycle로 개발시 난해함)
처음에 대충 화면을 만들때는 와~ 쉽다!!!! 라고 느꼈는데 깊히 이해해서 사용하려고 하면 시간이 많이 듭니다.
UIKit에서 쉽게 되던 기능들을 구현하려면 시간과 코드가 많이 소요되는 경우도 많습니다.
아시겠지만 SwiftUI 만으로는 아주 많은 제약 사항이 많습니다. 필수적으로 UIKit도 병행해서 사용해야 합니다.
(UIKit Hostring 방식)
암튼 결론은 SwiftUI + Combine은 필수이니 계속 공부하고 있습니다.
+) 아 맞다. 중요한 점 하나가 또 있네요.
꽤 무겁고 UIKit으로 더럽게 코딩되어 있는 기존 프로젝트에서 SwiftUI를 병행해서 사용하는 시나리오에서
Xcode가 무진장 버벅거립니다. 프리뷰 띄우는데도 한세월입니다.
당연히 빌드 최적화 및 외부 라이브러리 최적화, 등등을 해도 프로젝트 자체가 순수 SwiftUI로 모듈화가 잘되어 있지 않으면 너무 버벅이고 느려서 개발 의욕이 바닥을 치고 있습니다.
그래서 하드웨어 빨로 밀어붙히고자 이번 맥북을 샀습니다. -_-;
저도 비슷하게 생각하고 있습니다. UIKit도 잘 혼용해서 써야 하고... 근데 말씀하신대로 SwiftUI + Combine을 주력으로 하고 UIKit을 병행하는 식으로 공부하고 개발해 나가야 겠어요.
그래도 나름 SwiftUI 자료를 다루는 곳들이 있어서(UIKit 자료에 비하면 적지만) 계속 공부해 가야 겠습니다.
답변 감사합니다.
근데 UIKit을 SwiftUI로 호스팅하고... 그 반대로도 하고... 그렇게 뒤죽박죽 해놔도 프로그램 동작엔 문제가 없나요?
무엇보다 Rx를 주력으로 쓰는 회사에서는 많이 애매해 집니다.
UIKit 사용할때 코드로 작성한다면 도움이 될거에요. 조금씩 적용해 가는게 가장 좋은것 같더라구요