반응형
플러터(Flutter)는 구글에서 개발한 오픈소스 UI 프레임워크로, 하나의 코드베이스로 안드로이드, iOS, 웹, 데스크탑 애플리케이션을 개발할 수 있습니다. 플러터는 다양한 계층으로 구성되어 있으며, 각 계층은 서로 다른 역할을 수행합니다. 플러터의 프레임워크 계층은 다음과 같습니다:
- 위젯(Widgets):
- 기본 위젯(Basic Widgets): Flutter의 가장 높은 추상화 계층으로, 버튼, 텍스트, 이미지 등과 같은 기본적인 UI 컴포넌트를 제공합니다. 이 계층은 개발자가 사용자 인터페이스를 정의하는 데 사용됩니다.
- 레이아웃 위젯(Layout Widgets): 다양한 레이아웃을 구성할 수 있는 위젯으로, 행, 열, 그리드 등 다양한 방식으로 자식 위젯을 배치하는 데 사용됩니다.
- 위젯 트리(Widget Tree):
- 위젯은 트리 구조를 가지며, 각 위젯은 부모 위젯과 자식 위젯으로 구성됩니다. 위젯 트리는 애플리케이션의 UI를 구성하는 데 중요한 역할을 합니다. UI 변경 사항이 있을 때마다 위젯 트리가 재구성됩니다.
- 렌더링(Rendering):
- 렌더링 위젯(Rendering Widgets): 위젯을 화면에 그리는 역할을 하며, UI 요소를 실제 화면에 그리는 데 필요한 로우 레벨 작업을 수행합니다. 이 계층은 렌더링 트리를 형성하며, 위젯의 배치와 크기 조정을 처리합니다.
- 기본 위젯과 엔진(Flutter Engine):
- Flutter 엔진(Flutter Engine): C++로 작성된 엔진으로, 렌더링, 텍스트 레이아웃, 입력 처리 등 핵심적인 기능을 제공합니다. 엔진은 Skia 그래픽 라이브러리를 사용하여 고속 2D 렌더링을 수행합니다.
- Dart 런타임: Flutter의 런타임 환경으로, Dart 언어로 작성된 코드가 실행되는 환경을 제공합니다. Dart 런타임은 JIT(Just-In-Time) 및 AOT(Ahead-Of-Time) 컴파일을 지원합니다.
- 플랫폼 채널(Platform Channels):
- Flutter 애플리케이션이 네이티브 코드와 상호작용할 수 있도록 하는 메커니즘입니다. 이를 통해 Flutter 코드와 네이티브(Android/iOS) 코드 간에 데이터를 주고받을 수 있습니다.
이러한 계층들은 서로 긴밀하게 연결되어 있으며, 각 계층이 협력하여 Flutter 애플리케이션을 효과적으로 구성하고 실행할 수 있게 합니다. 위젯 계층에서부터 렌더링 및 엔진 계층까지의 모든 구성 요소가 함께 작동하여 매끄러운 사용자 경험을 제공합니다.
반응형
'언어 > Flutter' 카테고리의 다른 글
[ Flutter ] 패키지 설치하기 (0) | 2024.07.13 |
---|---|
[ Flutter ] 안드로이드 인앱 결제 기능 구현하기 (0) | 2024.07.10 |
[ Flutter ] Margin 사용하기 (0) | 2024.06.21 |
[ Flutter ] Layout에서 수직 중앙 정렬 하기 (0) | 2024.06.21 |
[ Flutter ] Layout에서 수평 중앙 정렬 하기 (0) | 2024.06.21 |