[Dart] dart 입문 (1) - 컴파일 방식, dart 특징

EnaZero·2023년 8월 9일
0

노마드 코더님의 무료강의를 듣고 개인 정리용으로 작성

Dart의 특징

  1. 객체지향 언어이다
  2. User interface에 친화적이라 빠르다
  3. UI에 최적화 되어있다
  4. 생산적인 개발환경, 모든 플랫폼에서 빠름
  5. Null safety
    Dart의 Null safety 방식
  6. Dart, flutter 모두 구글에서 제작된 언어로 상호적임. dart를 수정해서 flutter를 빠르게 만들 수 있음

Dart compile

Dart엔 dart web, dart native라는 두개의 컴파일러가 존재.

  • dart web: dart로 쓴 코드를 javascript로 변환해주는 컴파일러
  • dart native: 내가 쓴 dart 코드를 여러 cpu 구조에 맞게 변환

컴파일 방식

  • JIT(just in time)방식과 AOT(ahead of time) 방식이 존재
  • AOT방식 : C, C++, Rust와 같은 언어로 코딩을 하고 난 후 컴파일 할 때 아키텍쳐를 지정해줘야 함. 시간이 오래 걸림. UI제작이나 개발모드엔 비추천(변경한 것에 대한 결과물 확인하려면 처음부터 전체를 컴파일 하기 때문) 우리가 쓴 코드를 컴파일 하고 binary로 변환. 앱에서 빠르게 사용 가능
  • JIT방식 : dart VM사용. 작성한 코드의 결과를 바로 화면에 보여줌. (빠른 피드백) 개발 중일때는 dart VM이 JIT 컴파일러를 제공함. 모든 프로그래밍을 끝내고 배포시에는 dart VM이 아닌 AOT컴파일러 사용.
    이 방식은 가상 머신에서 코드가 돌아가기 때문에 조금 느리다.
  • 즉 JIT로 컴파일 하다 프로그래밍이 완료된 시점에는 AOT로 컴파일 (개발중 빠른 피드백 -> 최종 앱에서 빠르게)

1개의 댓글

comment-user-thumbnail
2023년 8월 9일

좋은 글이네요. 공유해주셔서 감사합니다.

답글 달기