본문 바로가기

Mobile

Flutter란?

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 이용