Flutter란?
Flutter는 Google에서 만든 크로스 플랫폼 프레임워크이다.
- 크로스 플랫폼 : 한번의 코드 작성으로 여러 플랫폼, 모바일 같은 경우 안드로이드, 아이폰 앱을 만들 수 있다.
- 프레임워크 : Frame(틀) + Work(일)의 합성어. 어떤 일을 할 때 틀을 제공해서 편리하게 일을 하게해준다.
Flutter의 특징
- 오픈소스: 누구나 코드 확인 및 수정 가능한 소프트웨어다.
- 자체 그래픽 엔진: (Skia-스키아, impeller-임펠러) 덕분에 다른 크로스 플랫폼에 비해서 빠르다
React Native는 javascript코드를 작성하면 안드로이드/아이폰의 UI요소를 찾아서 그리는 방식. (네이티브 브릿지)
플러터는 자체 그래픽 엔진을 사용해서 바로 그림
핫리로드
- 디버그 모드(개발모드)에서는 코드 수정 시 최상위 위젯부터 build함수를 다시 호출해서 수정사항 반영.
AOT 지원
- 개발 시 (JIT 컴파일러)
- 코드작성 → 컴파일(DartVM이 해석 가능한 바이트코드) → DartVm에서 실행 → DartVM에서 기계가 해석가능한 코드로 컴파일→ 실행
- 배포 시
- 코드작성 → 컴파일(기계가 해석가능한 바이트코드) → DartVM에서 실행 → 실행
Dart 언어의 쉬운 난이도
- Dart 가 Java, Javascript 등 다른 언어의 문법과 비슷해서 기존에 다른 프로그래밍 언어를 사용해 본적이 있으면 쉽게 학습가능
쉬운 UI 구성 방법
- HTML, CSS 를 한번 접해본 적이 있다면 구조가 비슷해서 쉽게 구성가능
다양한 플랫폼 지원
- 안드로이드, 아이폰, 웹, 윈도우, 맥, 리눅스 앱 개발 가능