Flutter에게 UI란?
Flutter UI에서 Widget이란?
Widget Tree
Widget example Code
- 가장 기본적인 위젯 코드로써 폰트 사이즈와 컬러를 설정하고 폰트가 출력되는 위치를 설정하는 등의 기본 설정에 대한 코드이다.
import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: Scaffold(
body: TestWidget(),
),
),
);
}
class TestWidget extends StatelessWidget {
const TestWidget({super.key});
@override
Widget build(BuildContext context) {
return SafeArea(
child: Center(
child: Text(
'Hello, Flutter',
style: TextStyle(
fontSize: 40,
color: Colors.black,
),
),
),
);
}
}
코딩 결과
Hot restart와 Hot reload
- Dart언어의 언어적 특징을 사용해 빠른개발을 위해 위의 기능을 제공하고 있다.
- JIT 컴파일러를 활용하여, 시간이 오래 걸리는 컴파일 과정을 거치지 않아도 코드의 변경사항을 즉시 반영할 수 있다.
재 컴파일 후 빌드하는 것이 아니기 때문에 앱의 기초가 되는 네이티브 코드의 수정이나, 라이브러리나 Asset의 추가 등의 상황에는 정상적으로 작동 X
지나치게 많은 코드의 변경사항이 있을 경우 Reload/Restart순으로 실행중인 프로세스가 상위 재시동을 요청
추후 상태를 관리하는 개발 단계에 도달 시, 해당 기능을 사용 할 때 주의를 요하게 될 수도 있음
Design Guide
- Flutter 내에서는 대표적인 2개의 디자인 가이드 를 활용 가능
- 이 2 가지 말고도 다른 가이드를 사용해도 되지만 이 2개가 오랜기간 앱을 만들어온 Google과 Apple의 노하우가 담겨 이걸 추천함
https://m3.material.io/
Material Design 공식 홈페이지
홈페이지에는 위의 사진과 같은 스타일 가이드가 있다.
ex) 스위치를 만들 때 간격, 안쪽 위젯과 바깥쪽 위젯의 사이즈 차이를 어느정도를 두어야 하는지에 대한 가이드
또한 위의 6가지 항목에 대한 것들이 Flutter에서는 중요하게 다루어지기 때문에 이 사이트를 통해 공부하는 것이 중요함