"Everything is a Widget" — Flutter의 핵심 철학

Flutter는 위젯 기반의 UI 프레임워크로, 모든 UI 요소를 위젯으로 표현합니다. 이는 개발의 일관성과 효율성을 크게 높여줍니다.

선언적 UI 구성

Flutter는 React에서 영감을 받은 선언적 프로그래밍 방식을 채택했습니다. 개발자는 원하는 UI 상태를 직접 선언하며, 프레임워크가 이를 효율적으로 렌더링합니다.

ui.png

명령형 UI

<aside> 💡 어떠한 상태가 되도록 명령한다.

</aside>

ViewA a = ViewA();
ViewB b = ViewB();
a.setColor(red) // 빨간색이 되어라
b.setColor(yello) // 노란색이 되어라
a.add(b) // b는 a의 child가 되어라

선언형 UI

<aside> 💡 어떠한 최종 상태를 선언한다

</aside>

// 빨간색 A가 노란색 B를 child로 가지고 있다.
return ViewA(
  color: red,
  child: ViewB(
		color: yello,
	),
);

<aside> 💡

Flutter는 선언형 UI 프레임워크라고 불립니다.

Untitled

위 예제에는 아래 상태들이 모여서 화면(UI)를 만들고 있습니다.

출처 : https://docs.flutter.dev

출처 : https://docs.flutter.dev

</aside>

<aside> 💡

선언형 UI

명령형 UI