Dart란?

2023. 1. 10. 11:44Programming/Dart & Flutter

반응형

Dart 언어?

 

참고

 

Dart overview

A short introduction to Dart

dart.dev

 

특징 1

Dart is a client-optimized language for developing fast apps on any platform.
(Dart는 모든 플랫폼에서 빠른 앱을 개발하기 위한 클라이언트 최적화 언어입니다.)

 

즉,  모든 CPU 아키텍처 (Windows, MacOS, iOS, Linux and Web 등)에서 컴파일 가능한 언어이다.

 

특징 2

Dart Native (machine code JIT and AOT)
During development, a fast developer cycle is critical for iteration. The Dart VM offers a just-in-time compiler (JIT) with incremental recompilation (enabling hot reload), live metrics collections (powering DevTools), and rich debugging support.
(개발 중에 빠른 개발자 주기는 반복을 위해 매우 중요합니다. Dart VM은 증분 재컴파일(핫 리로드 활성화), 라이브 메트릭 수집(DevTools 지원) 및 풍부한 디버깅 지원 기능이 있는 JIT(Just-In-Time 컴파일러)를 제공합니다.)

When apps are ready to be deployed to production—whether you’re publishing to an app store or deploying to a production backend—the Dart ahead-of-time (AOT) compiler can compile to native ARM or x64 machine code. Your AOT-compiled app launches with consistent, short startup time.
(앱을 프로덕션에 배포할 준비가 되면(앱 스토어에 게시하든 프로덕션 백엔드에 배포하든) Dart AOT(ahead-of-time) 컴파일러가 기본 ARM 또는 x64 머신 코드로 컴파일할 수 있습니다. AOT로 컴파일된 앱은 일관되고 짧은 시작 시간으로 실행됩니다.)

 

즉, 2개의 컴파일러가 있는데 하나는 개발 중에 코드를 변경하면 바로 UI가 변화하는 것을 볼 수 있게 해주는 컴파일러(JIT) 이고, 다른 하나는 배포할 때 쓰이는데 배포할 CPU 아키텍처에 맞춰서 CPU가 이해할 수 있는 기계어로 만들어주는 컴파일러(AOT)가 있다.

 

특징 3

Dart offers sound null safety, meaning that values can’t be null unless you say they can be.
(Dart는 건전한 null 안전을 제공합니다. 즉, null이 될 수 있다고 말하지 않는 한 값은 null이 될 수 없습니다.)

 

즉, null 값을 잘못 참조하면 프로그램이 고장나는데 Dart는 이것을 사전해 방지한다.

 

 

반응형