다트란
- 구글이 개발한 다트 프로그래밍 언어는 2011년 10월 GOTO 컨퍼런스에서 공개되었다.
- 구글은 크롬에 Dart 가상 머신 을 심어 javascript를 대체하려 했지만 웹 개발에 혼란을 가져온다는 여론에 의해 결국 다트 언어를 자바스크립트로 완전 컴파일 가능하게 만드는데 그쳤다.
- 다트 언어는 UI 제작에 최적화
- 완전한 비동기 언어이며 이벤트 기반
- 아이솔레이트를 이용한 동시성 기능도 제공
- 널 세이프티(Null safety), 스페레드 기능(Spread Operator), 콜렉션 if문(Collection If)등 을 통한 효율적으로 UI를 코딩할 수 있는 기능을 제공
- 핫 리로딩을 통해 코드의 변경 사항을 즉시 화면에 반영해볼 수 있어, 효율적인 개발 환경을 제공
- 멀티 플랫폼에서 로깅하고, 디버깅하고, 실행 가능
- AOT 컴파일이 가능하기 때문에 어떤 플랫폼에서든 빠른 속도를 자랑
- 자바스크립트로의 완전한 컴파일을 지원
- 백엔드 프로그래밍을 지원
다트 언어의 컴파일 플랫폼
- 다트 네이티브 플랫폼은 JIT 컴파일 방식과 AOT 컴파일 방식을 사용
JIT 컴파일 방식
- 코드의 변경된 사항을 처음부터 다시 컴파일할 필요가 없이 즉시 화면에 방영할 수 있는 핫 리로딩 기능
- 실시간으로 메트릭스를 확인할 수 있는 기능
- 디버깅 기능
AOT 컴파일 방식
- 개발하는 도중에는 하드웨어 리소스를 적게 사용하는 것보다 빠르게 개발할 수 있는 효율이 중요하기 때문에 JIT 컴파일 방식을 사용하지만 소프트웨어를 배포할 때는 컴파일이 돼 있어야 리소스를 더욱 효율적으로 사용할 수 있다.
- 그래서 배포 시에는 AOT 방식을 사용해서 컴파일
- AOT 컴파일 방식을 사용하면 ARM64나 x64 기계어로 다트 언어가 직접 컴파일이 되어 매우 효율적으로 프로그램을 실행 가능
![](https://github.com/DainoJung/docusaurus_blog/assets/117745618/da64aac0-d5cb-4995-9368-63eb44bfa934)