Flutter 3.29 업데이트
Flutter가 3.29 버전으로 업데이트되면서 다양한 성능 향상과 기능 개선이 이루어졌습니다. 특히, Web, iOS, macOS 플랫폼 지원이 더욱 강화되었으며, 개발자 경험을 향상시키는 여러 기능이 추가되었습니다. 이번 업데이트의 핵심 내용을 정리해 보겠습니다.
주요 업데이트
1. Web 성능 최적화
Flutter Web은 지속적으로 개선되고 있으며, 이번 3.29 버전에서는 WebAssembly (Wasm) 기반 렌더러가 실험적으로 도입되었습니다. 이를 통해 기존보다 로딩 속도와 실행 성능이 크게 향상되었습니다. 또한, 더 나은 메모리 관리와 최적화된 렌더링을 제공하여 웹 애플리케이션의 사용자 경험을 개선할 수 있습니다.
WebAssembly 적용하기
WebAssembly를 활성화하려면 flutter build web 명령어 실행 시 --wasm 플래그를 추가하면 됩니다.
flutter build web --wasm
이 옵션을 사용하면 기존 JavaScript 기반 렌더링보다 더 빠른 성능을 경험할 수 있습니다.
2. iOS & macOS Metal 지원 강화
Apple 플랫폼에서는 Metal API 최적화를 통해 보다 부드러운 UI 렌더링과 높은 성능을 제공할 수 있습니다. 이번 개선으로 인해 Flutter 앱이 네이티브 앱에 더욱 가까운 성능을 발휘하며, iOS 및 macOS에서 더욱 안정적인 실행이 가능합니다.
Metal 렌더링 활성화
Metal 렌더링을 명시적으로 활성화하려면, Info.plist에 다음 키를 추가할 수 있습니다.
<key>io.flutter.embedding.ios.metal</key>
<true/>
3. Impeller 렌더링 엔진 개선
Flutter의 새로운 렌더링 엔진인 Impeller가 더욱 안정적이고 성능이 향상되었습니다.
Impeller를 사용하면 더 나은 애니메이션 성능과 부드러운 그래픽을 경험할 수 있습니다. 최신 업데이트에서는 프레임 드롭을 줄이고 애니메이션 속도를 최적화하는 여러 기능이 추가되었습니다.
Impeller 활성화하기
Impeller를 활성화하려면 ios/Runner/Info.plist에 다음 설정을 추가합니다.
<key>FlutterEnableImpeller</key>
<true/>
4. DevTools 기능 확장
Flutter 개발자 도구인 DevTools가 더욱 강력해졌습니다.
- 메모리 프로파일링 개선 → 더 상세한 메모리 사용 분석 가능
- UI 성능 디버깅 도구 강화 → 성능 병목을 빠르게 찾아 최적화 가능
- 패키지 종속성 관리 개선 → pub upgrade 및 pub get 실행 시 속도 향상
DevTools 실행하기
Flutter DevTools는 다음 명령어로 실행할 수 있습니다.
flutter pub global activate devtools
flutter pub global run devtools
5. Android 14 지원 강화
Flutter 3.29는 Android 14 환경에서도 원활하게 실행될 수 있도록 최적화되었습니다. 최신 안드로이드 API 및 보안 업데이트를 지원하며, 앱의 안정성을 한층 높였습니다.
Android 14 대응 코드 예제
AndroidManifest.xml에서 android:exported 속성을 명확히 설정해야 합니다.
<activity android:name=".MainActivity"
android:exported="true">
</activity>
기타 개선 사항
- Dart 3.3 지원 → 최신 Dart 버전과의 완벽한 호환성
- 멀티플랫폼 앱의 안정성 향상 → 웹, 모바일, 데스크톱에서 일관된 성능 제공
- Flutter 패키지 시스템 최적화 → 패키지 업데이트 속도 향상 및 의존성 충돌 감소
마무리
더 많은 기능이 업데이트 되었지만 중요한것들만 정리해봤습니다.
Flutter 3.29는 성능 개선과 개발자 경험 향상에 초점을 맞춘 중요한 업데이트입니다. WebAssembly 지원, iOS/macOS Metal 최적화, DevTools 기능 개선 등으로 인해 더욱 강력한 개발 환경이 제공됩니다.
출처 : https://medium.com/flutter/whats-new-in-flutter-3-29-f90c380c2317