Dart 3.8 출시! 새로운 기능과 주요 변경 사항 정리

2025. 7. 9. 14:36·Flutter
728x90

2025년 5월 20일, Dart 팀이 Dart 3.8을 공식 발표했습니다. 이번 릴리스는 생산성 향상과 크로스 플랫폼 개발을 위한 여러 가지 유용한 기능이 포함되어 있으며, 코드 포맷팅과 문법 개선, 크로스 컴파일, 웹 핫리로드, FFI 개선 등이 주요 핵심입니다.

이번 블로그에서는 Dart 3.8의 핵심 기능들을 간결하게 정리해보겠습니다.


1. 코드 포맷터(Formatter) 개선

Dart 3.8부터 dart format 명령어를 실행하면 더 똑똑한 스타일 자동 정리가 적용됩니다.

  • trailing comma 자동 처리
    → 이제 불필요한 줄바꿈을 줄이고, 더 깔끔한 포맷을 유지합니다.
  • 중첩된 컬렉션 / 메서드 체이닝 정렬 개선
    → 가독성이 더욱 향상된 코드 스타일 제공

기존 스타일을 유지하고 싶다면 analysis_options.yaml에

formatter: trailing_commas: preserve

를 추가해 설정할 수 있습니다.


2. Null-aware 컬렉션 요소 추가 문법

이제 List, Map, Set 내에서 ? 기호를 사용해 null인 요소를 자동으로 제외할 수 있습니다.

var list = [ ?nullableValue, ?anotherNullable?.property, ];
  • 조건문 없이도 null-safe한 컬렉션 구성 가능
  • 코드 간결성과 가독성 향상

3. 크로스 컴파일(Cross-compilation) 지원

이제 macOS, Windows에서도 Linux 실행 파일이나 AOT 스냅샷을 직접 생성할 수 있습니다.

dart compile exe --target-os=linux --target-arch=arm64
  • 예) Mac에서 ARM 기반 서버용 Linux 바이너리 컴파일 가능
  • 임베디드 환경, 배포 자동화에 매우 유용

4. Doc import 지원

Dart 문서 주석에서 외부 라이브러리의 심볼을 직접 참조할 수 있는 기능이 생겼습니다.

/// See also: [Future], [Future.value] /// @docImport 'dart:async';
  • 문서 주석이 훨씬 명확해지고, 외부 심볼을 쉽게 설명 가능

5. 웹용 Hot reload (실험적 지원)

Flutter 웹 개발자들에게 희소식!
이제 웹에서도 stateful hot reload를 사용할 수 있게 되었습니다. (Dart Development Compiler 기반)

  • 실시간 UI 업데이트
  • 빠른 테스트 및 디버깅 가능
  • 아직 실험적이지만 점차 안정화 예정

6. FFIgen / JNIgen (네이티브 연동 자동화 도구)

  • Dart와 네이티브(Android/iOS/시스템) 연동 시 사용하는 FFI와 JNI 바인딩 코드를 자동으로 생성해주는 도구
  • 현재는 Early Access 상태로, 향후 정식화 예정

플러그인 개발자, 고급 네이티브 연동이 필요한 경우 큰 도움!


마무리

Dart 3.8은 “더 짧고 깔끔한 코드”와 “더 강력한 플랫폼 확장성”을 목표로 한 중요한 릴리스입니다. 특히 Flutter 개발자나 서버/CLI 환경에서 Dart를 사용하는 개발자들에게 많은 도움을 줄 수 있는 기능들이 도입되었습니다.


정리 요약

기능설명
Formatter 개선 쉼표 자동 조정, 중첩 스타일 개선
Null-aware 요소 추가 ?로 null-safe 컬렉션 구성
크로스 컴파일 다양한 OS 대상 바이너리 컴파일 지원
문서 import 주석에서 외부 심볼 참조 가능
웹 핫리로드 웹에서도 실시간 상태 핫리로드
FFIgen/JNIgen 네이티브 연동 자동화 툴 제공 (초기버전)
 

필요하다면 pubspec.yaml에 아래처럼 SDK 버전을 명시해 최신 버전을 사용하세요.

environment: sdk: ">=3.8.0 <4.0.0"

Dart 3.8로 프로젝트를 정리하고 싶은 분들이라면 이번 기회에 dart format 한 번 돌려보시고, 새 문법도 직접 적용해보세요!

문의나 질문은 댓글로 남겨주세요. 감사합니다 오늘도 즐코 빡코

728x90
LIST

'Flutter' 카테고리의 다른 글

Riverpod 3.0 정리 – 주요 변경사항과 사용법  (0) 2025.07.20
Flutter에서 토스 복권 스크래치 복권 구현하기  (2) 2025.07.14
Flutter: include of non-modular header inside framework module 'firebase_core.FLTFirebasePlugin'  (2) 2025.05.18
Flutter에서 API 호출 시 꼭 알아야 할 것들  (2) 2025.05.13
logger - Flutter 에서 Print말고 logger 사용하기  (0) 2025.05.08
'Flutter' 카테고리의 다른 글
  • Riverpod 3.0 정리 – 주요 변경사항과 사용법
  • Flutter에서 토스 복권 스크래치 복권 구현하기
  • Flutter: include of non-modular header inside framework module 'firebase_core.FLTFirebasePlugin'
  • Flutter에서 API 호출 시 꼭 알아야 할 것들
Mr. Joo
Mr. Joo
  • Mr. Joo
    삽질의 시작
    Mr. Joo
  • 전체
    오늘
    어제
    • 분류 전체보기 (226) N
      • 개발 요약 (5) N
      • Flutter (71)
      • Android (9)
      • Swift (5)
      • React (11)
      • 인공지능 (4)
      • CS (10)
      • 개발 뉴스 (108)
      • IT 기기 (1)
      • 알면 유용한 정보 (2)
  • 인기 글

  • 태그

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

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
Mr. Joo
Dart 3.8 출시! 새로운 기능과 주요 변경 사항 정리
상단으로

티스토리툴바