1. UI 최적화
2. 생산적인 개발환경
3. 모든 플랫폼에서 빠른 언어
다트에는 두 가지 컴파일러가 있다.
JIT : just-in-time (배포할 때)
AOT : ahead-of-time (개발할 때)
코딩을 다 하고나서 컴파일을 할 CPU 아키텍처를 선택해야 함. 컴파일을 먼저하고 그 결과물인 바이너리를 배포하는 방식. 시간이 오래걸림. 화면 개발을 하는데 좋은 방식이 아님. 버튼 하나 바꾸는데 컴파일이 너무 오래걸리면 개발하다가 화가 많이 날거니까.
Dart VM을 사용함.코드의 결과를 바로 확인할 수 있음. 코드가 가상머신에서 돌기 때문에 조금 느릴 수 있지만 이는 개발환경에서만 그럼. 이 때문에 코드의 변경 내용을 바로 확인할 수 있는 것. 배포를 하게 되면 jit가 아닌 aot 컴파일러를 사용하기 때문에 이런 문제가 해결된다.
Null safety하다는 것을 자바로만 개발할 때는 몰랐지만 코틀린을 사용하는 요즘 null safety가 얼마나 좋은 것인지 체험적으로 느끼고 있다.
dart는 null safe한 언어이다.