Dart는 구글이 개발한 프로그래밍 언어이며 주로 플러터 앱 개발에 사용되는 언어이다.
왜 많고 많은 언어중에 flutter는 Dart를 선택했을까?
초기 플러터 팀은 12개 이상의 언어중 UI 구축 방식이 일치하는 dart를 선택했다.
dart는 아래의 기준에서 높은 점수를 받았다.
이제 dart의 주요 기능들에 알아보자!
Dart는 JIT과 AOT 두가지 컴파일을 지원한다.
JIT(Just In Time): 프로그램을 실행하는 동안 기계어를 생성한다.
AOT(Ahead Of Time): 프로그램을 실행하기 전에 기계어를 생성한다.
두가지를 사용해 얻을 수 있는 이점은 아래와 같다.
따라서 Dart는 JIT을 통한 빠른 개발 주기, AOT를 통한 빠른 실행 속도 두 가지 이점을 제공한다.
핫 리로드는 앱 개발 중 코드 변경을 바로 적용해 앱을 빠르게 리로드하는 기능이다.
일반적으로 수정한 코드를 적용하기 위해 앱을 다시 빌드하여 실행하는 단점이 있지만 핫 리로드를 사용하면 코드를 수정해도 다시 빌드할 필요 없이 실시간으로 수정 사항 확인이 가능하다.
이처럼 수정 코드를 실시간 반영하여 개발 생산성 향상으로 개발과 디버깅 시간을 단축할 수 있다.
플러터의 Skia 그래픽 엔진은 하드웨어 속도를 높여 애니메이션 그리기와 처리를 최적화해서 초당 60프레임의 애니메이션을 구현한다. 이를 통해 jank는 최소화되고 사용자들에게 부드러운 애니메이션을 제공한다.
따라서 플러터의 그래픽 엔진, dart의 JIT, AOT를 통한 성능 최적화로 초당 60프레임의 애니메이션 구현이 가능하다.
dart로 플러터가 별도의 프로그램, 추가 템플릿, 레이아웃 언어 없이 레이아웃을 구성할 수 있다.
이외에도 “선제적 스케줄링, 타임 슬라이싱 및 공유 리소스”, “할당 및 가비지 수집” 등 몇가지 주요 기능들이 존재하지만 이는 추후에 다루도록 하겠다.
https://docs.flutter.dev/resources/faq#why-did-flutter-choose-to-use-dart