플러터 랜더링 방식

두유노플러터·2023년 7월 9일

플러터 랜더링

간단히 말해서, 무언가를 그리거나 보여주는 과정이다.
즉, 랜더링은 우리가 만들어낸 것이 실제로 시각적인 형태로 표현되는 과정이다.
플러터는 크로스 플랫폼 앱 개발 프레임워크로, 앱의 UI를 렌더링한다.

Widget 트리

플러터에서는 UI를 위젯 트리라고 하는 계층 구조로 구성한다.
이 트리는 위젯들로 이루어져 있고, 각 위젯은 화면에 그려지는 작은 조각이다.
트리의 가장 위에는 최상위 위젯이 위치하며, 그 아래에는 다른 위젯들이 계층적으로 배치된다.

Skia 엔진

플러터는 UI를 그리기 위해 Skia라는 그래픽 엔진을 사용한다.
Skia는 강력하고 효율적인 그래픽 처리를 제공하는 엔진으로, 플러터는 이 엔진을 통해 다양한 플랫폼에서 일관된 UI를 제공할 수 있다.

플러터 렌더링 과정

1. 위젯 트리 빌드

플러터 앱은 위젯 트리를 구성한다.
이 트리는 앱의 UI를 나타내며, 위젯들은 계층적으로 배치된다.
플러터에서는 위젯들을 조합하여 원하는 UI를 만들 수 있다.

2. 레이아웃

위젯 트리의 각 위젯은 크기와 위치에 대한 정보를 가지고 있다.
이 정보를 바탕으로 플러터는 위젯들을 화면에 배치한다.
이 단계에서 위젯의 크기 및 위치를 결정한다.

3. 페인팅

배치된 위젯들은 Skia 그래픽 엔진을 사용하여 실제로 화면에 그려진다.
Skia는 위젯의 스타일, 색상, 텍스트 등을 처리하여 화면에 렌더링한다.

4. 업데이트 관리

앱의 UI가 변경되면, 해당 변경 사항을 플러터가 감지하고 필요한 부분만 업데이트한다.
이는 효율적인 렌더링을 위해 변경된 부분만 다시 그리는 것을 의미한다.

플러터의 이 렌더링 방식은 매우 빠르고 효율적이다.
위젯들은 변경이 필요한 경우에만 업데이트되고, Skia 엔진을 통해 고성능의 그래픽 처리가 이루어지기 때문이다.

이러한 방식으로 플러터는 개발자가 원하는 UI를 만들고, 다양한 플랫폼에서 일관된 경험을 제공할 수 있다.

profile
플러터를 사용하여 모바일 APP을 개발하고 있는 두(유노)플(러터)입니다.

0개의 댓글