You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SwiftUI
각각의 뷰를 구성하는게 보다 명시적으로 다가와서 확실히 가독성이 매우 좋았다.
각 컴포넌트를 구성하고 그 상태값을 가지고 바인딩을 통해서 사용한다는 점은 확실히 리액트와 닮았고, MVVM 패턴에 왜 적합한지 알 수 있다.
Collection type을 기반으로한 List, Grid의 구현에 있어서도 보다 자유도가 높다
View를 적층하고 State 관리를 한 곳에서 하기 위한 ViewModel / Model 구성이 확실해야 한다.
만약 네트워크를 통해서 엔티티를 구성하고 DTO를 통해서 모델을 구성한다면 ViewModel에서 어떤 기준으로 State 바인딩과 관리를 할 지 생각해봐야한다 - 보여지는 뷰?, Tab? 등 규모에 따라 다를 듯 싶다
선언형
아직까지 명령형에 매우 익숙하지만 UI 세미나와 맛보기로 나마 Swift UI를 경험하면서 확실히 편리함은 있는 것 같다
명료성에 있어서는 Rx보다 한 수 위며, 아마도 refer 타입이 아닌 value 타입이기에 메모리 사용이나 교착 등에 있어서도 분명 유리한 점이 있다.
하지만, iOS 16.0 이 후에나 적용가능해 보이는 점이 많고, 잔 버그가 아직까지는 상당하다.
Tab / SwiftUI에서 미지원하는 뷰의 UIKit 호환
Tab처럼 지원하는 뷰에 대해서는 확실히 간결하게 표현이 가능하다. UIKit 대비 코드량이 엄청 줄어든다
하지만 PagerView처럼 지원하지 않는 부분이 있다고 한다면 이는 ViewRepresentable을 사용하여 별도로 구성해주어야 한다.
특히나 내부 딜리게이트 등 기능을 사용하고자 하면 Coordinator 패턴 등을 활용하여 래핑을 통해 가능하도록 구성해야한다.
고민
회고
SwiftUI
각각의 뷰를 구성하는게 보다 명시적으로 다가와서 확실히 가독성이 매우 좋았다.
각 컴포넌트를 구성하고 그 상태값을 가지고 바인딩을 통해서 사용한다는 점은 확실히 리액트와 닮았고, MVVM 패턴에 왜 적합한지 알 수 있다.
Collection type을 기반으로한 List, Grid의 구현에 있어서도 보다 자유도가 높다
View를 적층하고 State 관리를 한 곳에서 하기 위한 ViewModel / Model 구성이 확실해야 한다.
만약 네트워크를 통해서 엔티티를 구성하고 DTO를 통해서 모델을 구성한다면 ViewModel에서 어떤 기준으로 State 바인딩과 관리를 할 지 생각해봐야한다 - 보여지는 뷰?, Tab? 등 규모에 따라 다를 듯 싶다
선언형
아직까지 명령형에 매우 익숙하지만 UI 세미나와 맛보기로 나마 Swift UI를 경험하면서 확실히 편리함은 있는 것 같다
명료성에 있어서는 Rx보다 한 수 위며, 아마도 refer 타입이 아닌 value 타입이기에 메모리 사용이나 교착 등에 있어서도 분명 유리한 점이 있다.
하지만, iOS 16.0 이 후에나 적용가능해 보이는 점이 많고, 잔 버그가 아직까지는 상당하다.
Tab / SwiftUI에서 미지원하는 뷰의 UIKit 호환
Tab처럼 지원하는 뷰에 대해서는 확실히 간결하게 표현이 가능하다. UIKit 대비 코드량이 엄청 줄어든다
하지만 PagerView처럼 지원하지 않는 부분이 있다고 한다면 이는 ViewRepresentable을 사용하여 별도로 구성해주어야 한다.
특히나 내부 딜리게이트 등 기능을 사용하고자 하면 Coordinator 패턴 등을 활용하여 래핑을 통해 가능하도록 구성해야한다.
참고
👉🏻
The text was updated successfully, but these errors were encountered: