Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

자산 관리 회고 #10

Open
simoniful opened this issue May 23, 2022 · 0 comments
Open

자산 관리 회고 #10

simoniful opened this issue May 23, 2022 · 0 comments

Comments

@simoniful
Copy link
Owner

simoniful commented May 23, 2022

고민

  1. SwiftUI의 첫 경험의 짜릿함 - 분자화 된 구조의 UI Comp의 선언적 활용
  2. 선언형 / 명령형
  3. 기본적인 tab형식의 메뉴 구성 & 무한한 pagerView
  4. Swift UI에서 UIKit 사용 - ViewRepresentable

회고

  1. SwiftUI
    각각의 뷰를 구성하는게 보다 명시적으로 다가와서 확실히 가독성이 매우 좋았다.
    각 컴포넌트를 구성하고 그 상태값을 가지고 바인딩을 통해서 사용한다는 점은 확실히 리액트와 닮았고, MVVM 패턴에 왜 적합한지 알 수 있다.
    Collection type을 기반으로한 List, Grid의 구현에 있어서도 보다 자유도가 높다
    View를 적층하고 State 관리를 한 곳에서 하기 위한 ViewModel / Model 구성이 확실해야 한다.
    만약 네트워크를 통해서 엔티티를 구성하고 DTO를 통해서 모델을 구성한다면 ViewModel에서 어떤 기준으로 State 바인딩과 관리를 할 지 생각해봐야한다 - 보여지는 뷰?, Tab? 등 규모에 따라 다를 듯 싶다

  2. 선언형
    아직까지 명령형에 매우 익숙하지만 UI 세미나와 맛보기로 나마 Swift UI를 경험하면서 확실히 편리함은 있는 것 같다
    명료성에 있어서는 Rx보다 한 수 위며, 아마도 refer 타입이 아닌 value 타입이기에 메모리 사용이나 교착 등에 있어서도 분명 유리한 점이 있다.
    하지만, iOS 16.0 이 후에나 적용가능해 보이는 점이 많고, 잔 버그가 아직까지는 상당하다.

  3. Tab / SwiftUI에서 미지원하는 뷰의 UIKit 호환
    Tab처럼 지원하는 뷰에 대해서는 확실히 간결하게 표현이 가능하다. UIKit 대비 코드량이 엄청 줄어든다
    하지만 PagerView처럼 지원하지 않는 부분이 있다고 한다면 이는 ViewRepresentable을 사용하여 별도로 구성해주어야 한다.
    특히나 내부 딜리게이트 등 기능을 사용하고자 하면 Coordinator 패턴 등을 활용하여 래핑을 통해 가능하도록 구성해야한다.

참고

👉🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant