[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/개발상식

명령형 UI와 선언형 UI

inu 2021. 5. 2. 00:17
반응형

명령형 UI(Imperative UI), 선언형 UI(Declartive UI)

명령형 방식에서는위와 같은 작업을 위해서는

ViewB에 접근해서 selector 혹은 findViewById등의 도구로 인스턴스b를 찾고나서야, 하나씩 작업을 수행할 수 있다.

이러한 방식은 UI를 '어떻게' 구성하는지 개발자가 직접 상세히 기술하는 것이기 때문에 생산성을 많이 낮춘다. 

// Imperative style
b.setColor(red)
b.clearChildren()
ViewC c3 = new ViewC(...)
b.add(c3)

반면 선언형 방식의 경우 속해 있는 것들의 '선언'만 바꿔주면 된다.

즉, '어떻게'보다 '무엇을'에 집중할 수 있는 것이다.

// Declarative style
return ViewB(
  color: red,
  child: ViewC(...),
)

 

이러한 선언형 UI 프레임워크에는 Flutter, Swift UI, Jetpack compose 등이 있다.


참고 : flutter-ko.dev/docs/get-started/flutter-for/declarative

반응형