본문 바로가기

Flutter

1. Flutter의 이해,


[Flutter 개요]

플러터는 구글이 만든언어로 다트의 프레임워크이다. 또한 크로스플랫폼 GUI SDK이며 리액트 네이티브 처럼 인터페이스를 따로 나눌 필요 없이 하나만 렌더링이 가능한 장점이 있다.

  • 플러터는 리액트처럼 리액티브,선언형,조합할 수 있는 뷰계층 라이브러리이다. 즉 위젯이라는 작은 컴포넌트를 조합해 모바일UI를 만든다.
  • 플러터의 대부분은 위젯이며 위젯은 뷰를 묘사하는 다트 클래스다. 구조,스타일,애니메이션 그리고 그 밖에 UI를 구성하는 모든 것이 위젯이다.

위젯이란

  • UI를 구성하는 모든 기분 단위요소
  • 눈에 보이지 않는 요소(padding, center 등)
  • 네이티브 안드로이드 에서는 뷰를 정의할때 내부 속성값으로 margin이나 padding 등을 정의해서 뷰의 크기나 위치등을 지정하는데 이는 그저 단순 속성값일 뿐 뷰라고 칭하지 않는다 하지만 플러터는 이러한 부분까지 위젯이라고 한다.

위젯의 종류

  • Stateless Widget
  • 상태가 없는 위젯으로 화면상에 존재하지만 실시간 데이터를 저장하지 않고 어떠한 상태도 가지지 않는 것을 의미한다.
  • Stateful Widget
  • 상태를 가지는 위젯으로 사용자의 행동이나 데이터에 모양이나 값이 바뀌는 위젯을 의미한다.
  • Inherited Widget
  • 상속된 위젯으로 말그대로 위젯을 상속하는 것이고 데이터를 특정 위젯의 하층에 있는 모든 위젯에게 효율적으로 전달하는 플러터만의 특별한 위젯이다.

Widget Tree

  • 위젯들은 트리 구조로 정리가 되는 데 한 위젯 안에 다른 위젯이 포함되는 부모 자식 관계로 저장하는 것이다. 부모 위젯 컨테이너라고도 이야기한다.
  • alt text