SwiftUI는 아직 안되지만 UIKit으로 할 수 있는 것들

PM/iOS Developer KimKU·2023년 2월 18일
0

SwiftUI는 iOS 및 macOS 애플리케이션을 구축하기 위한 새로운 사용자 인터페이스 프레임워크입니다. WWDC 2019에서 소개된 이후 개발 커뮤니티에서 많은 화제를 불러일으켰고 많은 개발자가 SwiftUI를 활용해 앱 개발을 더 쉽고 효율적으로 만들 수 있음에 관심을 가졌습니다. 그러나, SwiftUI는 아직 프로덕션에서 사용할 준비가 되지 않았으며 오늘날 훌륭한 앱을 빌드하려는 개발자는 여전히 UIKit 학습을 해야 합니다.

1. Limited API coverage

SwiftUI는 아직 UIKit과 동일한 광범위한 API 적용 범위를 갖지 않습니다. 즉, 일부 기능은 SwiftUI에서 아직 사용할 수 없습니다. 예를 들어 앱 설정에 대한 사용자 정의 인터페이스를 생성하려는 경우 UIKit의  UITableView 사용합니다. 하지만 현재 SwiftUI에는 해당 클래스가 없습니다. 

2. Limited adoption

SwiftUI는 iOS 13 이상 기기에서만 사용할 수 있기 때문에 많은 기존 앱에서 사용할 수 없으며 아직은 UIKit을 이용해야 합니다. 즉, 기존 앱에서 작업하려면 UIKit에 능숙해야 합니다. 또한 앱이 이전 버전의 iOS를 지원해야 하는 경우 SwiftUI를 전혀 사용하지 못할 수 있습니다.

3. Limited support

새로운 프레임워크로서 문서 및 커뮤니티 지원 측면에서 SwiftUI에 대한 지원이 제한되어 있습니다. 이로 인해 개발자가 질문에 대한 답변을 찾거나 SwiftUI를 사용할 때 발생할 수 있는 문제를 해결하기 어려울 수 있습니다. 반면, UIKit은 수년 동안 사용되어 왔으며 지원 및 지침을 제공할 수 있는 대규모 개발자 커뮤니티를 보유하고 있습니다.

4. Lack of backwards compatibility

SwiftUI는 이전 버전의 iOS와 호환되지 않기 때문에 개발자는 이전 기기 지원 또는 SwiftUI 사용 중에서 선택해야 합니다. 이는 광범위한 장치를 지원해야 하거나 SwiftUI의 최신 기능을 사용하려는 개발자에게 상당한 제한이 될 수 있습니다.

5. Limited customiation options

SwiftUI는 UIKit보다 사용자 지정 옵션이 적기 때문에 고유하거나 복잡한 사용자 인터페이스를 생성하기 어려울 수 있습니다. 예를 들어 앱의 탐색 모음에 대한 사용자 정의 레이아웃을 생성하려는 경우 UIKit 의 UINavigationBar 사용하지만, 현재 SwiftUI에는 해당 클래스가 없습니다. 이는 개발자가 이러한 유형의 사용자 지정을 위해 해결 방법을 사용하거나 UIKit을 사용해야 함을 의미합니다.

6. Slow performance

경우에 따라 SwiftUI는 UIKit에 비해 복잡한 사용자 인터페이스를 렌더링하는 데 더 느릴 수 있습니다. 이는 특히 구형 장치에서, 또는 많은 양의 데이터를 표시할 때 앱의 전반적인 성능에 영향을 미칠 수 있습니다. 예를 들어, 앱에 큰 데이터 테이블을 표시하려는 경우, 많은 양의 데이터를 효율적으로 표시하도록 최적회된 UIKit UITableView 클래스를 사용합니다. 반대로, SwiftUI의 List는 구형 장치에서 잘 수행되지 않을 수 있습니다.

SwiftUI는 앱 개발을 좀 더 쉽고 효율적으로 할 수 있는 새 프레임워크임은 사실입니다. 하지만, 아직 프로덕션에 사용할 준비가 되지 않았다는 느낌을 받기도 합니다. 오늘날 훌륭한 앱을 만들고자 하는 개발자, iOS 개발자를 준비하는 분들은 UIKit 학습이 필수입니다. 그와 동시에 미래를 준비하고 언제나 프로덕션에 도입할 수 있도록 SwiftUI를 공부해야 하는것은 팩트입니다.

원문

profile
With passion and honesty

0개의 댓글