Apple/SwiftUI

[SwiftUI 특징] 선언적 구문, 데이터 주도적이다.

wiwi-si 2023. 10. 27. 23:53
728x90

선언적 구문

SwiftUI를 사용하면 레이아웃이 실제로 구축되는 방식의 복잡함에 대해 고민할 필요 없이 사용자 인터페이스가 어떤 모양을 이어야 하는지를 선언하는 방식으로 레이아웃을 생성할 수 있다. 이 과정에는 기본적으로 레이아웃에 포함될 컴포넌트들을 선언하고, 그것의 레이아웃 매니저 종류(VStack, HStack, Form, List 등)를 명시하고, 속성(버튼의 텍스트, 색상, 호출될 메서드)을 설정하기 위해 수정자(modifier)를 사용한다. 이렇게 선언하면 레이아웃의 위치와 컨스트레인트, 렌더링 방법에 대한 세부사항은 SwiftUI가 자동으로 처리한다.

 

데이터 주도적

SwiftUI는 앱의 데이터 모델과 사용자 인터페이스 컴포넌트, 그리고 기능을 제공하는 로직을 binding하는 여러 방법으로 복잡도를 해결한다. 데이터 주도로 구현하면 데이터 모델은 앱의 다른 부분에서 구독Subscribe할 수 있는 데이터를 게시Publish하게 된다. 이러한 방법을 통해 데이터가 변경되었다는 사실을 모든 구독자에게 자동으로 알릴 수 있다. 이렇게 하면 모든 데이터의 변경 사항을 SwiftUI가 사용자 인터페이스에 자동으로 반영할 것이다.

 

 

느낀점

데이터 모델을 subscribe하고 publish하게 된다는 개념이 RxSwift의 개념과 비슷해보인다. 두번째 앱은 SwiftUI로 만들어볼건데, 지금 조금씩 SwiftUI를 사용하고 있는데 프리뷰로 바로 UI가 보여서 너무 편하다.

'Apple > SwiftUI' 카테고리의 다른 글

[SwiftUI/화면이동] navigationDestination 바르게 사용하기  (0) 2024.01.02