
【Flutter】3.44.0 릴리스 변경 사항 정리
요약
Flutter 3.44 릴리스는 AI 에이전트와의 협업을 극대화하는 데 초점을 맞추고 있습니다. Agentic Hot Reload, MCP Server 지원, GenUI SDK 등을 통해 AI가 코드를 수정하고 UI를 직접 생성하는 차세대 개발 경험을 제공합니다.
핵심 포인트
- Agentic Hot Reload로 AI가 코드 수정부터 핫 리로드까지 자동 수행
- MCP Server 지원으로 Claude Code 등 AI 에이전트의 코드 이해도 향상
- GenUI SDK를 통해 AI 응답을 실제 Flutter UI 컴포넌트로 변환
- Swift Package Manager를 iOS/macOS 기본값으로 채택
- A2UI 프로토콜 도입으로 AI와 앱 간 UI 교환 표준화
기사 개요
Google I/O 2026 타이밍에 Flutter 3.44가 릴리스되었다. 이번에는 '신기능의 화려함'보다는, 평소의 개발 경험을 바꾸는 업데이트가 많은 인상이다.
특히 주목해야 할 포인트
먼저 '이것만은 꼭 짚고 넘어가야 한다'는 포인트를 뽑아보았다.
- 🤖
Agentic Hot Reload: AI 코딩 에이전트가 실행 중인 Flutter 앱에 자동으로 접속하여 핫 리로드 (Hot Reload)까지 대신 처리해 준다. - 🎨
Material / Cupertino 가 SDK 본체에서 분리:material_ui/cupertino_ui라는 독립 패키지로 이행하는 흐름이 시작되었다. - 📦
Swift Package Manager 가 iOS/macOS의 기본값으로: 오랫동안 도움을 주었던 CocoaPods와의 작별이 현실화되었다. - ⚡
Hybrid Composition++ (HCPP): Android의 플랫폼 뷰 (Platform View) (WebView/Maps 등)가 Vulkan + SurfaceControl을 통해 크게 개선되었다. - 🪟
데스크톱에서 멀티 윈도우 API가 실험적으로 등장: Canonical이 메인테넌스 리드를 맡는다.
AI / Agent 개발 지원
이번의 핵심 카테고리. AI 에이전트와 함께 Flutter 앱을 만들고/움직이는 세계에 집중한 업데이트들이 모였다.
Agentic Hot Reload
-
🛠
할 수 있는 것: AI에게 "이 버튼 색깔 바꿔줘"라고 부탁하는 것만으로, 코드 수정 → 저장 → 핫 리로드 (Hot Reload)까지 에이전트가 완결한다. 개발자는 화면을 보며 결과만 확인하면 된다. -
💡
장점: "AI에게 쓰게 함 → 직접 리로드 → 확인"이라는 두더지 잡기 식의 과정이 사라진다. 피드백 왕복 시간이 체감상 '분' 단위에서 '초' 단위로 단축된다. -
🛠
Dart / Flutter MCP Server
-
🛠
할 수 있는 것: Claude Code나 Cursor 같은 AI 에이전트가 로컬의 Dart Analyzer를 통해 프로젝트의 타입 정보, 위젯 트리 (Widget Tree), 의존 관계를 이해한 상태에서 코드를 조작하거나 테스트를 실행할 수 있게 된다. -
💡
장점: "텍스트 일치로 코드를 바꿔 쓰는" 수준에서 "망가뜨리지 않는 리팩토링 및 타입 안전성 (Type Safety) 체크" 수준으로 진화한다. 할루시네이션 (Hallucination)이 줄어들고 제안의 신뢰도가 높아진다. -
🛠
GenUI SDK (flutter/genui)
-
🛠
할 수 있는 것: AI의 응답을 "텍스트의 벽"이 아닌 진짜 Flutter UI로 반환할 수 있다. 예: "이번 주말 이벤트 알려줘" → 채팅창 안에 이벤트 카드 리스트가 구성되는 경험을 만들 수 있다. -
💡
장점: 채팅형 UI가 "읽기만 하는 것"에서 "대화 속에서 조작할 수 있는 앱"으로 진화한다. 앱 측에 심어둔 컴포넌트 카탈로그에서 조립하는 방식이므로, AI가 작성한 코드를 직접 실행하는 것이 아니라 안전성도 담보된다. -
🛠
A2UI Protocol
-
🛠
할 수 있는 것: GenUI의 배후에서 작동하며, AI ↔ 앱 간에 주고받는 UI 공통 포맷 (v0.9). 동일한 프로토콜을 사용하면 다른 모델이나 다른 구현체라도 동일한 UI를 구성할 수 있다. -
💡
장점: 동적 UI를 만들 때마다 각 회사마다 제각각인 사양을 만들 필요가 없어 벤더 락인 (Vendor Lock-in)을 피하기 쉽다. -
🛠
해석형 바이트코드 (에페머럴 UI 배포) ※ Dart 3.12 시점에서는 연구 단계
-
🛠
할 수 있는 것 (장래): App Store 심사를 거치지 않고, 그 자리에서만 사용하는 UI를 앱에 배포할 수 있게 된다는 구상. -
💡
장점: A/B 테스트용 UI나 단기 캠페인 화면을 릴리스 사이클과 분리하여 투입할 수 있다. -
🛠
Agent Skills
-
🛠
할 수 있는 것: "통합 테스트를 추가해 줘", "로컬라이제이션 (Localization)을 정리해 줘"와 같은 Flutter 특유의 태스크를 해당 프로젝트의 관례에 따라 에이전트가 실행할 수 있다. -
💡
장점: "일반적인 Flutter 지식으로 대충 쓰는" 것이 아니라, "이 리포지토리라면 이렇게 쓴다"라는 점을 고려한 변경이 이루어진다. -
🛠
Framework (Material / Cupertino)
코어의 동결 (Freezing)이 큰 토픽이다. 개별 위젯은 "메뉴", "커스터마이징 가능성", "견고함"이라는 3개 축을 중심으로 진화했다.
- Material / Cupertino 코어 동결 (Freezing): 향후
material_ui/cupertino_ui라는 독립 패키지로 배포 예정 (SDK의 3개월 사이클에서 해방) - Cupertino 쇄신:
CupertinoMenuAnchor추가,CupertinoSheetRoute의 스크롤·드래그 대응,CupertinoFocusHalo의 슈퍼 엘립스 (Superellipse) 대응 등 iOS 네이티브의 감각에 가깝게 업데이트 - 신규 위젯 / 생성자:
RoundedSuperellipseInputBorder,SizedBox.square()추가 - 커스터마이징 가능성 확장:
Carousel(무한 스크롤),TabBar(임의의ScrollController),NavigationRail/DropdownMenu/Stepper/Hero/MenuAnchor/AnimatedCrossFade/ModalBottomSheet등에 세부 파라미터 추가 - 견고함 · 수정: 0x0 사이즈 환경에서의 크래시 방지 (
EditableText등),RangeSlider의 포커스 동작,DateRangePicker의 테마 적용,SegmentedButton의 너비 배분 등의 버그 수정
렌더링 (Impeller)
화려한 신기능은 없으나, 몇 가지 개선 사항이 나열되어 있다.
- Vulkan 메모리 관리: 캐시 관리와 GPU/CPU 동기화 효율을 개선 (프레임 드롭 발생 시의 동작이 안정화됨)
- Skia 백엔드 폐지 (Android 10+): 시작 시 셰이더 컴파일 (Shader Compilation)로 인한 저크 (Jank) 제거
- 원 그리기 쇄신: Signed-distance function 기반으로 변경하여 에일리어싱 (Aliasing) 해소
- 텍스트 렌더링: 비균일 스케일 시 바이리니어 필터 (Bilinear Filter)를 사용,
TextFrame의 공유 데이터 감소
iOS / macOS
의존성 관리와 Xcode 주변에 변화가 집중되었다.
- Swift Package Manager (SPM) 가 기본값: CLI가 Xcode 프로젝트를 자동으로 마이그레이션하며, CocoaPods 플러그인은 폴백 (Fallback) 취급되어 경고 발생
- Add-to-app (iOS) 도 SPM 경유 권장: 기존 iOS 앱에 통합할 때도
flutter build swift-package --platform ios로 생성한 Swift 패키지를 가져오는 방식으로 변경. 기존의 CocoaPods / embedded frameworks 통합은 일단 삭제한 후 마이그레이션해야 함 (Xcode 15.0+ 필수) - Xcode 16 대응: arm64 제외 설정에 대한 경고 추가
- SwiftPM 최소 플랫폼 불일치 진단 개선: 의존성 해결 실패 시의 메시지를 이해하기 쉽게 변경
- CocoaPods × SwiftPM 충돌 시 가이드 에러: 마이그레이션 중인 프로젝트에서 막히지 않도록 지원
- UIScene 라이프사이클 경고: Apple의 향후 요구 사항에 대비한 사전 통지
- 인라인 텍스트 예측 입력: iOS의 인라인 보완을 지원
- iOS 시뮬레이터의 가짜 Impeller 이미지 회피책 제거
Android
플랫폼 뷰 (Platform View) 주변이 개선되었다.
- Hybrid Composition++ (HCPP): Vulkan + SurfaceControl을 통해 합성 (Composition)을 OS에 위임,
--enable-hcpp로 활성화 - Predictive Back 확장:
FlutterFragment/FlutterFragmentActivity에서도 예측 뒤로가기 (Predictive Back)를 지원 - Android API 35 대응: 새로운
CheckStateAPI 대응 - AGP 9 대응: Kotlin의 빌트인화에 따른 플러그인 적용 재검토 필요
- Huawei ImageReader 버그 수정
- 콘텐츠 사이징 개선
Web
세부적인 수정이 중심이다.
iframe 내 스크롤 이벤트 전파 수정
텍스트 스타일 동기화를 통한 IME 및 선택 동작 수정
iOS iframe 내 텍스트 입력 뷰 표시
Safari iOS 26의 자동 완성(Autofill) 오류 수정
Desktop / Embedded
체제의 변화와 새로운 API의 조짐.
멀티 윈도우 API (실험적): 툴팁, 팝업, 별도 다이얼로그 창 등을 지원할 예정
데스크톱 리드 메인테이너가 Canonical로 이동: Linux/데스크톱 관련 움직임이 활발해짐
Toyota RAV4 (2026): 차량용 인포테인먼트(Infortainment)가 Flutter로 구동
LG webOS SDK: 스마트 TV용 SDK가 곧 제공될 예정
도구 / DevTools
일상적인 개발 경험과 직결되는 개선.
DevTools가 WASM 컴파일로 전환: 실행 및 조작 응답 속도가 경쾌해짐
Widget Previews의 메모리 사용량을 최대 50% 절감: Dart Analysis Server 활용으로 효율화
하드웨어 키보드의 규칙성 경고를 기본적으로 비활성화
유틸리티 추가: TestWidgetsApp을 통해 테스트의 정형화된 처리를 간소화
스타일 가이드 업데이트: dot shorthand, 확장 메서드(Extension method) 권장 방침 정리
Dart 3.12
Flutter 3.44에 포함되는 Dart 업데이트.
프라이빗 명명된 파라미터 (Private named parameter): _field를 직접 생성자 인수로 받을 수 있음
프라이머리 생성자 (Primary constructor) (실험적): 클래스 선언과 동시에 생성자를 작성할 수 있는 구문
Genkit Dart: 모델에 의존하지 않는 풀스택 AI 프레임워크가 Dart 지원
파괴적 변경 (Breaking Changes)
업그레이드 전에 확인해야 할 변경 사항. 자세한 내용은 공식 파괴적 변경 가이드를 참조하십시오.
:ExtendSelectionByPageIntent 삭제 및 ExtendSelectionVerticallyToAdjacentPageIntent로 대체
:TextDecoration 상속/구현 불가. final로 변경됨. TextDecoration.combine으로 조합하거나 드로잉 레이어(Drawing layer)에서 대응해야 함. maskValue 처리 방식도 플랫폼 간 통일
페이지 전환 빌더(Page transition builder)의 임포트 경로 변경: CupertinoPageTransitionsBuilder / PageTransitionsBuilder / pageTransitionsTheme의 참조처가 정리됨. rg "CupertinoPageTransitionsBuilder|PageTransitionsBuilder|pageTransitionsTheme"로 확인 권장
Android: 내장 Kotlin + AGP 9 대응: 수동으로 org.jetbrains.kotlin.android를 적용하고 있으면 빌드가 깨질 가능성 있음. Kotlin 마이그레이션 가이드에 따라 정리 필요
iOS: UIScene 라이프사이클 전환 예고: Apple의 향후 요구 사항에 맞춰 UISceneDelegate로의 전환이 권장됨
iOS/macOS: SwiftPM 기본화에 따른 의존성 해결 변화: CocoaPods 의존 플러그인은 폴백(Fallback) 경고 발생. SwiftPM과 병용 시 충돌이 감지될 수 있음. CocoaPods 레지스트리는 2026년 12월 2일에 읽기 전용(Read-only)으로 전환되므로, Add-to-app을 포함하여 조기에 마이그레이션할 것
DropdownMenu의 non-null 관련 변경 사항(일부 리버트): 3.43 버전에 맞춰 작성했을 경우 재조정이 필요할 수 있음
요약
Agentic Hot Reload와 SwiftPM 기본화는 향후 개발 스타일에 영향을 미치므로, 신규 프로젝트부터 도입할 가치가 있다.
Material/Cupertino 패키지 분리는 앞으로도 계속 주시할 필요가 있다.
참고
릴리스 전체
AI / Agent 개발 지원
-
Flutter & AI (개요 허브)
-
Agent Skills /
flutter/skills/dart-lang/skills -
Flutter 및 Dart를 위한 AI 규칙 (AI rules)
GenUI 개요 / 시작하기 /
flutter/genui
genui
패키지 (pub.dev) / genui_a2ui
패키지 (pub.dev) - A2UI 프로토콜 (공식)
- Dart / Flutter MCP 서버 (
dart-lang/ai) - Hot Reload (Agentic Hot Reload의 전제 조건)
iOS / SwiftPM 관련
파괴적 변경 (Breaking Changes) / 마이그레이션 가이드
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기