본문 바로가기
TIL(Today I Learned)

2024.05.14 Today I Learned

by 승환파크 2024. 5. 14.

Swift 로 개발을 하다보면 SwiftUI 와 UIKit 이 두가지가 나온다. 이 두가지는 모두 UI를 개발하기 위한 프레임 워크로 모두 Apple 에서 제공해주는 프레임워크이다. 그럼 UI 개발을 할 때 어떤 프레임워크가 좋을까 라는 생각이 들어 두가지 프레임워크에 대해 알아보았다.

 

UIKit

UIKit 은 Apple의 오리지널 UI 프레임워크로, iOS 앱을 개발하기 위해 사용된다. 우선 UIKit은 Objective-C 나 Swift 를 사용한 전통적인 명령형 프로그래밍 방식을 기반으로 하며, 직접 UI 컴포너트의 상태를 관리하고 업데이트해야 한다. UIKit은 버튼, 테이블, 테이블 뷰 등의 다양한 UI 요소를 제공하며, 이러한 요소들을 조합하여 복잡한 사용자 인터페이스를 만들 수 있다. UIKit은 이벤트 기반 모델을 사용하며 사용자의 입력을 처리하고, 화면의 레이아웃과 애니메이션을 세미랗게 제어할 수 있다.

 

SwiftUI

SwiftUI는 2019년에 나온 비교적 새로운 UI 프레임워크로, 선언적 프로그래밍 패러다임을 사용하여 UI를 구성한다. SwiftUI는 UIKit 과는 다르게 Swift 언어로만 작성이 가능하며, 코드의 양을 줄이고 보다 쉽게 UI를 구성할 수 있게 해준다. 또한 SwiftUI는 View 프로토콜을 구현하는 다양한 구조체를 사용하여 UI를 구성하며 자동으로 UI 구성 요소의 상태를 관리하고, 데이터 변화에 따라 UI를 업데이트 한다. SwiftUI는 iOS, macOS, watchOS, tvOS 등 Apple 의 모든 플랫폼에서 사용될 수 있으며, 코드의 재사용성이 높고 플랫폼 간의 일관된 개발 을 할 수 있도록 도와준다.

 

UIKit 과 SwiftUI에 대해 간략히 알아보았는데 그럼 어떠한 차이점이 있는지도 알아볼 것이다.

 

UIKIt 과 SwiftUI의 차이점

두 프레임워크의 차이점은 우선 개발 방식에 차이점이 있다. UIKit 은 명령형 프로그래밍, SwiftUI는 선언적 프로그래밍을 사한다. 따라서 SwiftUI는 더 적은 코드로 더 직관적인 UI 개발이 가능하다. 하지만 UIKit 으로 개발을 진행하다 보면 코드는 더 복잡하지만 더욱 세밀한 제어가 가능하다. 그렇기 때문에 복잡한 UI를 사용하는 경우 UIKit 을 사용하고, 간단하고 심플한 UI를 사용할 경우 SwiftUI를 사용하는 것을 추천한다.

두번째로는 플랫폼 호환성에 차이가 있는데 UIKit 은 예전부터 사용해오던 방식이라 iOS 2 부터 지원되며, 거의 모든 iOS 버전과 호환된다. 따라서 오래된 장비나 OS 에서도 작동할 수 있다는 장점이 존재한다. 하지만 그에 반에 SwiftUI는 iOS 13 버전 이상에서만 사용이 가능하다. 그렇기 때문에 광범위한 OS 지원을 하는 경우 UIKit으로 개발을 진행하고, 최신 OS만 사용할 때는 SwiftUI으로 개발을 진행하는 것을 추천한다.

'TIL(Today I Learned)' 카테고리의 다른 글

2024.05.17 Today I Learned  (0) 2024.05.17
2024.05.16 Today I Learned  (0) 2024.05.16
2024.05.13 Today I Learned  (0) 2024.05.13
2024.05.10 Today I Learned  (0) 2024.05.10
2024.05.09 Today I Learned  (0) 2024.05.09