플러터(Flutter) 3.44, AI 시대에 맞춰 개발 환경과 성능을 혁신하다!

by DD
2주 전
조회수 72

Hybrid Composition++ 도입으로 안드로이드(Android) 플랫폼의 성능과 안정성을 개선하고, Swift Package Manager를 iOS/macOS 기본 종속성 관리자로 채택

DevTools 성능 개선 및 Widget Previews 기능 강화로 개발자 생산성 향상

Agentic Hot ReloadDart & Flutter Agent Skills 출시를 통해 AI 기반 개발 환경 지원

GenUILiteRT-LM 지원 확대로 AI 기반 앱 개발을 위한 생태계 확장

Hybrid Composition++를 통한 안드로이드(Android) 성능 개선

플러터(Flutter) 3.44는 Hybrid Composition++(HCPP)를 도입하여 네이티브 안드로이드(Android) 뷰(View)를 플러터(Flutter) 앱에 통합하는 방식을 개선했다. 기존 방식의 화면 찢김(Screen Tearing), 텍스트 입력 문제, 높은 CPU 사용량 문제를 해결하고, Vulkan(Vulkan) 그래픽 라이브러리를 활용하여 성능을 향상시켰다.

HCPP는 Android OS에 레이어 합성(Layer Compositing)을 직접 위임하여 성능을 최적화

SurfaceView 컴포넌트(Component) 지원을 통해 다양한 네이티브 뷰(View)와의 호환성 확보

HCPP는 옵트인(Opt-in) 기능으로, --enable-hcpp 플래그(Flag)를 사용하여 테스트 가능

Swift Package Manager를 기본 종속성 관리자로 채택

플러터(Flutter) 3.44는 iOS 및 macOS 앱의 기본 종속성 관리자로 Swift Package Manager(SwiftPM)를 채택했다. 기존의 CocoaPods(CocoaPods)를 대체하여, Ruby 및 CocoaPods 설치 필요성을 제거하고, Xcode 프로젝트(Project)를 SwiftPM을 사용하도록 자동 업데이트한다.

Flutter CLI(Command Line Interface)가 자동으로 SwiftPM으로 마이그레이션(Migration)을 처리

Add-to-App 통합(Integration) 시 Swift Package 형태로 플러터(Flutter) 모듈(Module) 패키징(Packaging) 지원

CocoaPods를 사용하는 플러그인(Plugin)의 경우, 경고 메시지 출력 및 임시적인 CocoaPods 사용

SwiftPM 지원 플러그인(Plugin)은 pub.dev에서 추가 점수를 받으며, CocoaPods 지원은 점진적으로 중단될 예정이다.

DevTools 및 Widget Previews를 통한 개발자 경험 향상

플러터(Flutter) 3.44는 개발자 생산성 향상을 위해 DevTools의 성능을 개선하고, Widget Previews 기능을 강화했다. DevTools는 WASM(WebAssembly)을 기본으로 사용하여 응답성을 높였으며, 프로젝트 분석 속도를 향상시켰다.

Widget Previews는 Dart Analysis Server를 활용하여 메모리 사용량 최대 50% 감소

Preview 필터링(Filtering) 기능을 통해 대규모 프로젝트에서 효율적인 작업 지원

Agentic Hot Reload를 통해 코딩 에이전트(Coding Agent)와의 통합을 강화하여 개발 워크플로우(Workflow) 개선

Agentic Hot Reload는 코딩 에이전트가 코드 변경 시 자동으로 핫 리로드(Hot Reload)를 트리거(Trigger)하여 즉각적인 결과를 확인할 수 있도록 지원한다.

AI 기반 앱 개발 지원 강화

플러터(Flutter)는 AI 기반 앱 개발을 위해 Firebase AI LogicGenkit Dart를 지원하며, Agent Skills를 통해 개발 효율성을 높인다. Firebase AI Logic은 Gemini API를 Flutter 앱에서 직접 호출할 수 있도록 지원하며, Server Prompt Templates를 통해 프롬프트(Prompt)를 앱 코드에 직접 포함할 필요를 없앴다.

Genkit Dart는 풀 스택(Full-stack) AI 앱 개발을 위한 오픈 소스 프레임워크(Framework)로, Google, Anthropic, OpenAI 등 다양한 모델(Model) 지원

Agent Skills는 통합 테스트(Integration Test) 작성 및 현지화 설정 등, 개발 작업에 대한 단계별 가이드 제공

LiteRT-LM 지원을 통해 온디바이스(On-device) AI 모델(Model) 실행을 위한 성능 최적화

Impeller 엔진 및 Vulkan(Vulkan) 개선

플러터(Flutter) 3.44는 Impeller 렌더링 엔진의 성능과 시각적 품질을 향상시키기 위해 다양한 개선 사항을 적용했다. 특히 Vulkan 백엔드(Backend)의 메모리 관리 및 GPU/CPU 동기화 효율성을 높였으며, SDF(Signed Distance Functions)를 사용하여 원형 렌더링 품질을 개선했다.

FragmentShader API 개선으로 셰이더(Shader) 코드 작성 편의성 향상

Get Uniform by Name API를 통해 셰이더(Shader) 내 유니폼 변수(Uniform Variable) 바인딩 간소화

향상된 셰이더 컴파일러(Compiler) 진단을 통해 플랫폼 간 렌더링 문제 조기 발견

이러한 개선 사항들은 플러터(Flutter) 앱의 전반적인 그래픽 성능과 시각적 품질을 향상시키는 데 기여한다.

What’s new in Flutter 3.44