티스토리 뷰
What’s new in Flutter 3.7
Material 3 updates, iOS improvements, and much more!
medium.com
Flutter 3.7이 출시되었다. 이번 업데이트에서는 Material 3 지원 강화, 메뉴 바 및 계단식 메뉴 추가, 새로운 렌더링 엔진 Impeller 프리뷰, iOS 앱 릴리스 검증 기능 추가, DevTools 개선 등 다양한 기능이 포함되었다. 하나씩 살펴보자.
Material 3 지원 강화
Flutter 3.7에서는 Material 3(M3) 지원이 대폭 강화되었다.
기존 위젯 중 다음과 같은 요소들이 M3로 마이그레이션되었다.
- Badge, BottomAppBar, SegmentedButton, Checkbox, Divider
- Menus, DropdownMenu, Drawer, NavigationDrawer
- ProgressIndicator, Radio 버튼, Slider, SnackBar
- TabBar, TextField, InputDecorator, Banner
M3를 활성화하려면 ThemeData의 useMaterial3 속성을 true로 설정하면 된다.
MaterialApp(
theme: ThemeData(
useMaterial3: true, // 이 부분!
colorSchemeSeed: Colors.green,
),
);
더 나은 UI 일관성을 위해 M3 색상 테마를 활용하는 것이 좋다.
이를 위해 Flutter의 새로운 테마 빌더 도구를 사용하거나, colorSchemeSeed를 지정해 자동 생성할 수도 있다.
메뉴 바 및 계단식(?) 메뉴 지원
이번 업데이트에서는 메뉴 바와 계단식 컨텍스트 메뉴 지원이 추가되었다.
사진을 보면 왼쪽 위에 보통 떠있는 메뉴를 말하는 것 같다.
- macOS에서는 PlatformMenuBar 위젯을 사용해 네이티브 메뉴 바를 생성할 수 있다.
- 모든 플랫폼에서 MenuBar(계단식 메뉴 바) 또는 MenuAnchor(단일 UI 요소에서 트리거되는 메뉴)를 사용할 수 있다.
Flutter 앱에서도 완전히 커스터마이징된 메뉴 UI를 구성할 수 있고,
새 MenuItemButton 및 SubmenuButton 위젯을 활용하면 보다 쉽게 메뉴를 구성할 수 있다.
고 이야기를 하긴하지만... ㅋㅋㅋㅋ 참고만 하는걸로...
Impeller 렌더링 엔진 프리뷰
Impeller 렌더링 엔진이 iOS에서 프리뷰 기능으로 추가되었다.
기존 Skia 렌더러보다 성능이 향상되었으며, 향후 iOS의 기본 렌더러로 변경될 가능성이 높다.
현재는 API 커버리지에 일부 부족한 점이 있지만, 앞으로의 업데이트를 통해 더욱 완성도를 높일 예정이다.
iOS 앱 릴리스 검증 기능 추가
iOS 앱을 배포할 때 App Store 제출을 위한 설정을 점검하는 기능이 추가되었다.
flutter build ipa 명령을 실행하면 앱이 App Store 제출 기준을 충족하는지 확인할 수 있다.
누락된 설정이 있다면 경고 메시지를 제공하여 빠르게 수정할 수 있도록 도와준다.
오 이거 좋은데..
DevTools 업데이트
Flutter 3.7에서는 DevTools의 메모리 디버깅 도구가 대폭 개선되었다.
- 새로운 기능 탭 Profile, Trace, Diff 추가
- 클래스 및 메모리 타입별 메모리 할당 분석 지원
- 코드 경로별 메모리 사용 분석 가능
- 특정 시점 간 메모리 스냅샷 비교 기능 지원
이외에도 Inspector, 네트워크 프로파일러, CPU 프로파일러 등의 주요 버그 수정도 포함되었다.
아직 DevTools 써본적이 없는데... 작업 끝나면 알아봐야겠다.
마치며
Flutter 3.7 업데이트에서는 UI 개선, 성능 향상, 툴링 강화 등의 다양한 변화가 있었다!
디버깅툴이 유용해보이는데 어떻게 쓰는건지 알아봐야겠다.
업데이트 내용이 많길래 나머지는 2편에 계속 소개해보겠다.
'Developments > Flutter' 카테고리의 다른 글
[Flutter] 3.7 업데이트 살펴보기 (3) (0) | 2025.02.14 |
---|---|
[Flutter] 3.7 업데이트 살펴보기 (2) (0) | 2025.02.13 |
[Flutter/M4] Java version & Gradle 호환성 맞춰서 앱 빌드하기 (0) | 2025.01.14 |
[Flutter] Sliver, Slivers, SliverList 개념 알아보기 (0) | 2024.12.11 |
[Flutter] @JsonSerializable()와 @JsonKey 사용법 (0) | 2024.12.03 |
- Total
- Today
- Yesterday
- 플러터네이티브
- slivers
- flutter_lints
- flutter3.7
- flutter 3.7
- ios
- lints
- jsonkey
- swiftmigration
- 개발신입
- SWIFT
- 낙관적 업데이트 패턴
- flutter updates
- 다트문법
- 렌더링최적화
- 플러터ios애니메이션
- fromjson()
- jsonserializable
- tojson()
- flutter
- 플러터
- 플러터업데이트
- 티스토리챌린지
- llm 설치
- analysis_options
- 오블완
- sliverlist
- sliver
- 플러터 업데이트
- 오블완챌린지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |