Flutter 3.29 & Dart 3.7 업데이트

2025. 2. 27. 10:52·Flutter
728x90

Flutter와 Dart는 개발자 생산성 향상과 더 나은 사용자 경험을 위해 꾸준히 진화하고 있습니다. 이번 Flutter 3.29와 Dart 3.7 업데이트에서는 특히 렌더링 엔진, 플랫폼 인터롭, 웹 성능, DevTools 개선 등 여러 핵심 기능들이 대폭 강화되었습니다. 아래에서 주요 변경 사항을 살펴보겠습니다.


1. 엔진 및 렌더링 개선

iOS – Impeller가 기본 렌더러로 전환

  • Skia 완전 제거: 이제 iOS에서는 Skia 대신 Impeller가 유일한 렌더러로 사용됩니다.
  • 바이너리 크기 감소 및 성능 최적화: 불필요한 코드가 제거되어 앱의 크기가 줄고, 렌더링 효율이 크게 향상되었습니다.
  • 새로운 렌더링 기능: BackdropFilter 최적화와 ImageFilter.shader 생성자 등을 통해 부드러운 시각 효과 구현이 가능해졌습니다.

Android – Impeller 안정성 및 호환성 강화

  • Vulkan 백엔드 개선: 기존 실험적 기능이 더욱 안정적으로 개선되어, 특히 구형 기기에서도 깜빡임 없이 작동합니다.
  • OpenGL ES 대체: MediaTek 및 PowerVR 칩셋 등에서 Impeller OpenGLES 모드로 더 나은 호환성을 제공합니다.
  • 에뮬레이터 지원: Android 에뮬레이터도 Impeller GLES 백엔드를 사용하여 일관된 렌더링 환경을 제공합니다.

메인 스레드에서 Dart 코드 실행

  • Flutter 3.29부터 Android와 iOS 모두에서 Dart 코드가 애플리케이션의 메인 스레드에서 직접 실행됩니다.
  • 별도의 UI 스레드를 없애 메시지 직렬화 및 인터롭 오버헤드를 줄여, 텍스트 입력 및 접근성 같은 플랫폼 상호작용이 더욱 빠르게 동작합니다.

2. 웹 플랫폼 및 Dart 3.7 연동

웹 렌더링 최적화

  • HTML 렌더러 제거: 기존 HTML 렌더러를 완전히 제거하고, WebAssembly(Wasm) 기반의 통합 렌더링 전략으로 전환되었습니다.
  • 이미지 핸들링 개선: <img> 엘리먼트 사용 제어를 위한 플래그 도입 등으로 CORS 이슈 관리와 렌더링 속도가 향상되었습니다.

Dart 3.7 통합

  • 레거시 라이브러리 폐지: dart:html, dart:js 등의 구형 라이브러리 대신, dart:js_interop와 web 패키지를 통해 모던 API를 지원합니다.
  • 새로운 포맷터 및 와일드카드 변수:
    • Dart 3.7에서는 새로운 포맷팅 스타일이 도입되어, 코드 길이에 따라 자동으로 trailing comma를 추가하거나 제거합니다.
    • 이제 _ (언더스코어)를 여러 번 재사용할 수 있어, 불필요한 변수 이름 고민을 덜어줍니다.

3. DevTools 및 성능 프로파일링 강화

  • 향상된 인스펙터: 압축된 위젯 트리와 자동 업데이트 기능이 추가되어, 핫 리로드와 네비게이션 시 즉각적인 반영이 가능합니다.
  • 메모리 디버깅 도구 개선: Profile, Trace, Diff 탭이 추가되어 현재 메모리 할당 상황과 코드 경로 분석, 두 시점 간의 메모리 스냅샷 비교 기능을 제공합니다.
  • 로그 도구 업그레이드: 더 풍부한 메타데이터와 심각도 기반 필터링 기능으로 디버깅 시 문제점을 빠르게 파악할 수 있습니다.

4. 접근성 및 UI/UX 개선

  • Material 3 업데이트: 최신 Material Design 가이드라인에 맞춘 버튼, 텍스트필드, 드롭다운 메뉴 등 여러 위젯의 스타일이 개선되었습니다.
  • Cupertino 위젯 강화: iOS 특유의 네이티브 감성을 살린 CupertinoListSection, CupertinoListTile 등 새로운 위젯이 추가되어 iOS 앱의 UI 일관성을 높였습니다.
  • 컨텍스트 메뉴 커스터마이징: 텍스트 선택이나 이미지 길게 누름 등 다양한 상황에서 사용자 정의 메뉴를 쉽게 구성할 수 있습니다.
  • 키보드 기반 텍스트 선택: MacOS와 데스크탑 환경에서 Shift 키를 사용한 텍스트 선택 기능이 추가되어 접근성이 향상되었습니다.

5. 기타 주요 변경 사항

  • 빌드 최적화: Android Gradle 빌드 속도가 개선되고, targetSdkVersion 34 지원이 추가되어 최신 보안 정책과 호환성이 강화되었습니다.
  • 플랫폼 채널 개선: 백그라운드 Isolate에서도 플랫폼 채널 호출이 가능해져, 네이티브 코드와의 통신이 더욱 유연해졌습니다.
  • 메모리 관리 최적화: 네이티브 리소스 해제 API가 추가되어, GC로 인한 프레임 지연과 불필요한 메모리 사용을 줄였습니다.

마무리

Flutter 3.29와 Dart 3.7 업데이트는 전체적인 앱 성능 향상과 개발 생산성 증대를 목표로 다양한 기능 개선을 포함하고 있습니다. Impeller의 안정적인 렌더링, 웹 및 데스크탑 지원 강화, DevTools 및 접근성 개선 등은 여러분의 프로젝트에 큰 도움이 될 것입니다.

새로운 기능들을 실제 프로젝트에 적용하기 전, 충분한 테스트를 통해 모든 환경에서 원활하게 동작하는지 확인하시길 바랍니다.

오늘도 열심히 코딩하시고 , 열코 빡코 !

728x90
LIST

'Flutter' 카테고리의 다른 글

Flutter에서 애니메이션  (1) 2025.03.02
Flutter에서 BLoC 패턴 제대로 이해하기  (0) 2025.03.02
PopupMenuButton (팝업 메뉴 버튼)  (0) 2025.02.27
Flutter의 렌더링 파이프라인: Build 단계 이해하기  (0) 2025.02.25
이미지 크기 조절하기: fast_image_resizer 사용법  (0) 2025.02.21
'Flutter' 카테고리의 다른 글
  • Flutter에서 애니메이션
  • Flutter에서 BLoC 패턴 제대로 이해하기
  • PopupMenuButton (팝업 메뉴 버튼)
  • Flutter의 렌더링 파이프라인: Build 단계 이해하기
Mr. Joo
Mr. Joo
  • Mr. Joo
    삽질의 시작
    Mr. Joo
  • 전체
    오늘
    어제
    • 분류 전체보기 (220)
      • Flutter (70)
      • Android (9)
      • Swift (5)
      • React (11)
      • 인공지능 (4)
      • CS (10)
      • 개발 뉴스 (108)
      • IT 기기 (1)
      • 알면 유용한 정보 (2)
  • 인기 글

  • 태그

    기술 뉴스
    오늘의 뉴스
    Dart 기초
    오늘의 개발 뉴스
    플러터
    이슈
    오늘의 기술 뉴스
    앱 개발
    앱
    DART
    오늘의 이슈
    react
    Flutter
    개발
    개발 뉴스
    뉴스
    앱개발
    뉴스 모음
    기술
    개발 이슈
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
Mr. Joo
Flutter 3.29 & Dart 3.7 업데이트
상단으로

티스토리툴바