DevBoi

[Flutter] 플러터의 위젯 본문

[Mobile]/[Flutter]

[Flutter] 플러터의 위젯

HiSmith 2023. 1. 8. 16:49
반응형

Widget

작은 장치라는 의미이다.

독립적으로 실행되는 작은 프로그램이다.

바탕화면 등에서 날씨나 뉴스, 생활정보 등을 보여준다.

그래픽이나 데이터 요소를 처리하는 함수를 가지고 있다.

 

Flutter상에서의 Widget이란?

1. UI를 만들고 구성하는 모든 기본 단위 요소를 의미한다.

앱 화면을 구성하는 모든 요소를 위젯이라고 한다.

 

2. 플러터상에서는 눈에 보이지 않는 요소들도 위젯이다.

Layout을 돕는 것들도 위젯이다. (정렬,컬럼 등등)

 

3. 플러트는 모든 위젯을 코드로 관리한다.

 

 

State

최초로, 정렬된 상태 컴포넌트들이 존재하고있는 상태를 의미한다.

 

1. Stateless widget

상태가 없는 정적인 위젯.State가 변하지 않는 위젯을 의미한다.

Stateless widget이 가진 데이터는 위젯 내 데이터가 변하지 않는 것을 의미한다.

 

2. Stateful widget

계속 움직이거나 변화가 있는 위젯이다. State내 변하는 데이터를 가진 위젯이다.

 

 

<Flutter Tree>

WIdget Tree는 설계를 하고

Element Tree는 이를 포인트하여, 매핑하여 관리하고 있고, 그 위젯의 정보와 위치 타입을 가지고있다.

 

 

 

위젯이 변경되면, 엘리먼트 트리를 활용해서, 변경되는 부분만 반영해서 다시 Render Tree에게 선택적으로 전달하고

해당 변경된걸 가지고 다시 rending 으로 만든다.

Stateless앱은 다시 빌드를 하지만, Stateful은 다시 빌드하지 않는다고 보면 된다.

 

Stateful은 데이터가 변하는 것들을 책임져주지만, 

Statelesss는 정적인 변하지 않는 페이지라고 보면 된다.

 

 

Scaffold란?

Scaaffold란, 디자인 발판 정도라고 생각하면된다

디자인을 다 정의하지않아도, 구글에서 제공하는 디자인으로 편하게 사용이 가능하게 해주는것이다.

 

 

 

 

반응형