Flutter의 웹 플랫폼 영역의 발전
오늘은 웹 개발자 입장에서 최근 5월 15일에 Google I/O에서 발표된 내용중 Flutter 3.22 Stable 버전의 몇 가지 내용을 공유드리려 합니다.
Flutter 웹 앱을 WebAssembly(Wasm)로 컴파일하는 안정적인 릴리스 지원을 발표, 이는 플랫폼 친화적인 바이너리 코드형식으로 웹 브라우저를 위한 새로운 명령 형식을 제공합니다.
Chrome 팀과 협력하여 Dart와 같은 고급 관리 언어를 위한 WebAssembly 지원을 정의하여 확정된 표준인 WasmGC proposals이 탄생하였고, 이제 WasmGC 코드를 생성하기 위해 Dart 컴파일러 백엔드를 추가하여, Wasm 모듈로 앱 코드와 Flutter 렌더링 엔진을 모두 컴파일하고 실행합니다.
결과적으로 모바일 및 데스크톱 장치에서 훨씬 향상된 성능을 확인할 수 있습니다. 내부 벤치마크(M1 MacBook의 Chrome)에서 Wonderous 의 프레임 렌더링 시간은 일반적인 경우 2배, 최악의 경우 3배 향상되었습니다. 향상된 렌더링 성능은 프레임 예산(다음 프레임을 렌더링하는 데 할당된 시간)을 초과하면 눈에 띄는 버벅거림이 발생하는 애니메이션과 풍부한 전환 기능을 갖춘 까다로운 앱에서 매우 중요합니다. Wasm은 이를 제거할 수 있는 잠재력을 가지고 있습니다. 아래의 Wasm 컴파일과 기존 JS 컴파일로 실행되는 Wonderous 앱의 병치에서 볼 수 있듯이 말입니다.
Flutter 웹 앱용 Wasm 컴파일은 오늘부터 안정적으로 제공됩니다. 시작하려면 Dart Wasm 문서 와 Flutter Wasm 문서를 확인하세요.
오늘 우리는 JSON을 위한 더 나은 옵션인 JsonCodable 매크로의 미리 보기를 발표합니다.
매크로 시스템이 Dart에 내장되어 있고 코드를 편집하고 실행할 때 실시간으로 발생한다는 점을 제외하면 이는 코드 생성과 같습니다. 이 스크린캐스트에 설명된 것처럼 핫 리로드와 같은 기존 개발자 워크플로를 완벽하게 지원하는 지연 없는 통합 환경입니다.
이러한 강력한 매크로 시스템을 설계하고 구현하는 것은 큰 작업이므로 현재 안정적인 릴리스 날짜가 정해지지 않았습니다. 자세한 내용은 Dart 3.4 게시물을 확인하세요 . 그동안 오늘 JsonCodable매크로 미리보기를 사용해 보세요. 자세한 내용은 매크로 문서를 확인하세요 .
이제 Flutter 앱 내에서 탐색할 때와 다른 앱이나 홈 화면으로 탐색할 때 모두 Android의 predictive-back-gesture(예측 뒤로 동작)이 지원됩니다.
각각에 대한 자세한 내용을 알아보려면 Flutter 기술 게시물 과 Dart 3.4 게시물을 참조하세요.