brunch

You can make anything
by writing

C.S.Lewis

by 더오픈프로덕트 May 17. 2024

Flutter 3.22와 Dart 3.4 출시

Flutter의 웹 플랫폼 영역의 발전

오늘은 웹 개발자 입장에서 최근 5월 15일에 Google I/O에서 발표된 내용중 Flutter 3.22 Stable 버전의 몇 가지 내용을 공유드리려 합니다. 


WebAssembly: 웹에서 네이티브 성능 추구

Flutter 웹 앱을 WebAssembly(Wasm)로 컴파일하는 안정적인 릴리스 지원을 발표, 이는 플랫폼 친화적인 바이너리 코드형식으로 웹 브라우저를 위한 새로운 명령 형식을 제공합니다.


Chrome 팀과 협력하여 Dart와 같은 고급 관리 언어를 위한 WebAssembly 지원을 정의하여 확정된 표준인  WasmGC proposals이 탄생하였고, 이제 WasmGC 코드를 생성하기 위해 Dart 컴파일러 백엔드를 추가하여, Wasm 모듈로 앱 코드와 Flutter 렌더링 엔진을 모두 컴파일하고 실행합니다.


결과적으로 모바일 및 데스크톱 장치에서 훨씬 향상된 성능을 확인할 수 있습니다.  내부 벤치마크(M1 MacBook의 Chrome)에서 Wonderous 의 프레임 렌더링 시간은 일반적인 경우 2배, 최악의 경우 3배 향상되었습니다. 향상된 렌더링 성능은 프레임 예산(다음 프레임을 렌더링하는 데 할당된 시간)을 초과하면 눈에 띄는 버벅거림이 발생하는 애니메이션과 풍부한 전환 기능을 갖춘 까다로운 앱에서 매우 중요합니다. Wasm은 이를 제거할 수 있는 잠재력을 가지고 있습니다. 아래의 Wasm 컴파일과 기존 JS 컴파일로 실행되는 Wonderous 앱의 병치에서 볼 수 있듯이 말입니다.

Wonderous 데모 애플리케이션 에 대한 Javascript와 Wasm의 렌더링 속도를 비교합니다.

Flutter 웹 앱용 Wasm 컴파일은 오늘부터 안정적으로 제공됩니다. 시작하려면 Dart Wasm 문서 와 Flutter Wasm 문서 확인하세요.



Dart 매크로: 개발 추상화 수준 높이기

오늘 우리는 JSON을 위한 더 나은 옵션인 JsonCodable 매크로의 미리 보기를 발표합니다.


매크로 시스템이 Dart에 내장되어 있고 코드를 편집하고 실행할 때 실시간으로 발생한다는 점을 제외하면 이는 코드 생성과 같습니다. 이 스크린캐스트에 설명된 것처럼 핫 리로드와 같은 기존 개발자 워크플로를 완벽하게 지원하는 지연 없는 통합 환경입니다.

매크로 사용 경험을 보여주는 스크린캐스트: 처음에는 toJson 코드 완성이 존재하지 않지만 @JsonCodable을 클래스에 추가하면 toJson 코드 완성이 즉시 표시됩니다.

이러한 강력한 매크로 시스템을 설계하고 구현하는 것은 큰 작업이므로 현재 안정적인 릴리스 날짜가 정해지지 않았습니다. 자세한 내용은 Dart 3.4 게시물을 확인하세요 . 그동안 오늘 JsonCodable매크로 미리보기를 사용해 보세요. 자세한 내용은 매크로 문서 확인하세요 .



Android의 예측 뒤로 동작 지원

이제 Flutter 앱 내에서 탐색할 때와 다른 앱이나 홈 화면으로 탐색할 때 모두 Android의 predictive-back-gesture(예측 뒤로 동작)이 지원됩니다.

휴대전화에 표시되는 뒤로 탐색 예측 동작의 디자인 샘플



각각에 대한 자세한 내용을 알아보려면 Flutter 기술 게시물 과 Dart 3.4 게시물을 참조하세요.



[본문] https://medium.com/flutter/io24-5e211f708a37


작가의 이전글 24개국 결제단말기 Adyen의 거래 UX원칙
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari