목차
위젯들을 이해하고 활용하는 것이 Flutter 개발의 핵심!!.
0. 위젯의 종류
Flutter는 풍부한 UI 위젯을 제공한다. 자세한 내용은 공식 문서에서 확인할 수 있다.
위젯들을 이해하기 쉽게 직접 나누어 보자
1. 플랫폼별 위젯
- Material (Android) 위젯
- Google의 Material Design 가이드라인을 따르는 위젯들이다.
- Cupertino (iOS) 위젯
- Apple의 Human Interface Guidelines를 기반으로 한 iOS 스타일 위젯들이다.
대부분의 경우 Material 위젯을 사용하지만, 플랫폼별 특성을 살리고 싶다면 각각의 위젯을 적절히 활용할 수 있다.
2. 기본 위젯 (Basic Widgets)
- Text: 다양한 스타일의 텍스트를 표현한다.
- Row와 Column: CSS의 flexbox와 유사한 방식으로 수평, 수직 레이아웃을 구성한다.
- Stack: 위젯들을 겹쳐 배치할 수 있으며, Positioned 위젯과 함께 사용하여 정교한 위치 조정이 가능하다.
- Container: 다재다능한 박스 위젯으로, 배경, 테두리, 그림자 등 다양한 스타일링이 가능하다.
이러한 위젯들을 조합하고 커스터마이징하여 원하는 UI를 구현할 수 있다. Flutter의 강력함은 이 위젯들의 유연성과 확장성에 있다.
3. 상태 관리에 따른 위젯 분류
Flutter에서는 상태 관리 방식에 따라 위젯을 두 가지로 분류한다:
- Stateless Widget: 내부 상태가 없는 정적 위젯으로, 한 번 렌더링된 후 변경되지 않는다.
- Stateful Widget: 동적 상태를 가진 위젯으로, 사용자 상호작용이나 이벤트에 따라 UI가 변경될 수 있다.
성능 최적화를 위해서는 가능한 Stateless Widget을 사용하는 것이 좋다. Stateless Widget은 빌드 시 한 번만 생성되지만, Stateful Widget은 상태 변경 시마다 재빌드되기 때문이다.
'Flutter > Flutter UI 프레임워크' 카테고리의 다른 글
기초적인 Flutter 화면을 구성하는 패턴 (1) | 2024.11.11 |
---|---|
위젯트리, 엘리먼트트리, 렌더트리 란 뭘까? (0) | 2024.11.11 |
Basic Widget 살펴 보기 (1) | 2024.11.08 |
Flutter 프로젝트 구조 이해하기 (0) | 2024.11.08 |
"Everything is a Widget" — Flutter의 핵심 철학 (0) | 2024.11.06 |