[FLUTTER] - AOT(Ahead-Of-Time)와 JIT(Just-In-Time)

2025. 1. 9. 16:08·Flutter

Flutter는 Dart언어를 기반으로 동작한다. Dart의 컴파일 방식에는 크게

AOT(Ahead-Of-Time)와 JIT(Just-In-Time) 두 가지가 있다.

 

AOT(Ahead-Of-Time)

 

특징

코드를 앱 실행 전에 미리 기계어(네이티브 코드)로 컴파일 한다.

프로덕션(릴리즈) 빌드 시 Dart 코드를 AOT로 변환하여 배포한다.

 

✅장점

  • 미리 최적화된 네이티브 코드를 사용함으로, 런타임 성능이 우수하다.
  • 해석 과정없이 곧바로 실행되므로 속도가 빠르고 안정적이다.
  • 최종 앱 패키지 크기가 더 작아질 수 있다.

❌단점

  • 앱을 빌드하는 과정에서 컴파일 시간이 증가할 수 있다.
  • 코드 수정 시마다 새로 빌드를 해야하기에 개발 과정에서 반복 테스트시 불편하다.

 

JIT(Just-In-Time)

특징

코드 프로그램 실행중(런타임)에 코드를 동적으로 해석(컴파일)한다.

덕분에 Flutter 개발 시 “핫 리로드(Hot Reload)” 기능이 가능한 핵심 이유이다.

 

✅장점

  • 앱 수정 후 즉시 반영할 수 있어, 개발 및 디버깅 속도가 매우 빠르다
  • UI-로직 변화를 바로 확인할 수 있어서 개발 생산성이 높아진다.

❌단점

  • 런타임에 코드를 해석·컴파일하기 때문에, 실제 배포용(프로덕션) 빌드에서는 퍼포먼스가 다소 떨어질 수 있다.
  • 빌드 파일 크기 등 최적화가 미흡할 수 있다.

 

결론

개발 단계에서는 JIT를 사용하여 빠른 피드백을 통해 생산성을 늘리고

릴리즈 단계에서는 AOT 컴파일을 사용해 최적화된 네이티브 코드를 배포하여 앱성능을 최대화한다.

'Flutter' 카테고리의 다른 글

[FLUTTER] 위젯(Widget)  (0) 2025.01.20
[FLUTTER] 플러터의 UI  (0) 2025.01.20
[FLUTTER] 상태(STATE)  (0) 2025.01.20
[Flutter] MaterialApp과 CupertinoApp  (0) 2025.01.13
[FLUTTER] - FLUTTER 설명  (0) 2025.01.09
'Flutter' 카테고리의 다른 글
  • [FLUTTER] 플러터의 UI
  • [FLUTTER] 상태(STATE)
  • [Flutter] MaterialApp과 CupertinoApp
  • [FLUTTER] - FLUTTER 설명
noily4748
noily4748
백엔드 개발을 공부하고 있는 개발자 입니다!
  • noily4748
    noily4748 님의 블로그
    noily4748
  • 전체
    오늘
    어제
    • 분류 전체보기 (37)
      • 웹 (2)
      • Flutter (11)
      • Dart (5)
      • 디자인 패턴 (4)
      • 디스코드 (2)
      • [Flutter] 눈길 팀 프로젝트 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
noily4748
[FLUTTER] - AOT(Ahead-Of-Time)와 JIT(Just-In-Time)
상단으로

티스토리툴바