Dart 3 릴리즈

2023년 5월 10일 Google I/O 행사에서 Dart 3가 공식 릴리즈 되었습니다. 이를 통해서 다음의 세가지 사항이 발표되었습니다.

(공식영상: What’s new in Dart and Flutter [바로가기])

(1) 100% sound null safety
(2) New language features (records, patterns, and class modifiers)
(3) Future Roadmap

첫째로 Dart 언어로 개발한 프로그램의 안정성을 향상 시키기 위한 긴 여정을 마치고, 모든 코드들이 Null-Safety를 지원하게 되었습니다.

둘째로 문법적으로 향상된 기능을 제공하는 큰 변화를 포함하였습니다. 각각의 내용별로 글을 작성하였으니, 아래의 링크에서 확인하기 바랍니다.

셋째로 Dart 언어의 발전 방향에 대한 발표가 있었습니다. 주요 내용은 다음과 같습니다.

이중 Native interop은 아주 없던 내용은 아닙니다. 이미 C언어로 컴파일 된 코드를 Dart 언어와 연결해서 사용할 수 있는 dart:ffi 기능이 있습니다. 이번 발표에서는 이를 Java, Kotlin, Objective C, Swift로 확대해서, Android, iOS, macOS의 native 코드와 연결하는 것을 목표로 한다고 합니다.

Android와 Dart와의 상호운용성에 대해서는 영상을 통해서 추가적인 설명하고 있습니다 (영상 바로 가기).

WASM을 간단하게 설명하면 “C++과 같은 high-level 언어로 만든 프로그램을, binary-level에서, 웹 브라우저에서 바로 실행”하는 기술 입니다. Binary-level이라는 것은 complie/link를 통해서 만들어진 실행 화일을 수행한다는 의미 입니다. 대중적으로 알려지지 않았지만, Adobe의 웹 기반 구독형 디자인 소프트웨어 서비스 등에서 사용되고 있습니다. 또한 Container 대체 기술로, (Docker 등을 대신하여) Kubernetes에 연결하는 방안들도 개발되고 있습니다. 특히 Flutter 개발팀이 SKIA 그래픽 렌더링 기술을 웹 브라우저 상에서 구현할때도 사용하고 있습니다.

이번 발표에서는 Dart 언어로 개발한 프로그램이 WASM을 통해서 동작하도록 하겠다는 것입니다. 이는 실행 시간, 성능 등의 향상 및 서버 분야에서 Dart 기반 프로그램을 Kubernetes 등과 연계하는 것이 매우 쉬워진다는 것도 의미합니다. 따라서 지속적인 관심을 가질만한 큰 발표로 보입니다.

현지 시점에서도 Dart/Flutter로 개발한 프로그램을 WASM에서 실행하는 것이 가능합니다.

특별히 WASM에 대한 사항은 별도의 글을 통해서 전문적으로 설명할 기회가 있을 것으로 예상힙니다.

[출처] Announcing Dart 3

[참조] Dart SDK Change Log (@Dart3.0)

[참조] Support for WebAssembly (Wasm)

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다