Flutter란?
- 구글에서 개발한 모바일 UI 프레임워크
- 안드로이드, IOS 동시 개발 가능
Flutter의 특징
- 무료 오픈소스
- 플러터의 모든 것은 위젯
- Dart라는 프로그래밍 언어 이용해 개발
- Skia 엔진 내장. Skia 엔진을 통해 Flutter은 디바이스 제한 없이 동일한 화면으로 렌더링 가능
- AOT, JIT 지원
Skia 엔진?
안드로이드, ios, Chrome, Window, Mac 등 다양한 환경에서 공통된 API를 가지고 화면을 그릴 수 있도록 돕는 오픈소스 2D 그래픽 라이브러리
AOT?
Ahead Of Time
- Dart로 개발한 코드를 휴대폰에 빌드하기 전 해당 휴대폰의 네이티브 코드로 사전 컴파일하여 코드 빌드 가능.
- 즉 네이티브 성능을 낼 수 있음
- 예를 들어 빌드하려는 휴대폰이 안드로이드일 경우 안드로이드 네이티브 코드로, 애플폰일 경우 ios 네이티브 코드로 사전 컴파일함.
JIT?
- Just In Time
- 런타임에서 실행할 수 있는 중간 언어로 변환 후 Dart의 가상머신을 통해 중간언어를 실시간으로 번역 후 즉시 실행
- AOT에 비해 실행이 느림
- 개발 모드에서만 사용하고 프로덕션 모드에서는 AOT 이용