본문 바로가기
기타 분야/Flutter

플러터(Fluttter)란?

by 검은도자기 2021. 9. 6.

정의

구글에서 개발한 크로스 플랫폼 개발 프레임워크

 

 

특징

- Dart 언어 사용

- 핫 리로드(Hot Reload) 기능 제공

- 자체 렌더링 엔진을 통해  모든 디바이스 동일한 화면 제공.

 

 

아키텍처 구조

플러터 내부 아키텍처 구조는 크게 3가지 영역으로 나뉘며 다음과 같은 특징을 가지고 있습니다.

 

- Framework : Dart 언어로 개발된 다양한 클래스 제공. 이것을 이용해 앱을 개발

- Engine : C/C++로 만들어져 있고 네트워크 통신, 컴파일플러터 핵심 기능 처리

- Embedder : Engine이 렌더링한 결과를 크로스 플랫폼에서 동작하도록 플랫폼별 네이티브 언어로 변경

 

 

Dart 컴파일 방식

컴파일 방식은 크게 두 가지로 나누어지며, 다음과 같은 특징이 존재합니다.

 

- Native : 앱의 경우 JIT(Just-In-Time Compiler), AOT(Ahead of Time) 컴파일러가 있으며컴파일러 모두 Dart를플랫폼의 네이티브 코드로 변환합니다.

- Web : 웹의 경우  dartdevc, dart2js 컴파일러가 있으며,컴파일러 모두 Dart를 JavaScript로 변환합니다.

 

 

컴파일러 키워드 정리

- webdev : Dart 웹 앱 개발을 위한 CLI

- dart2js : Dart-to-JavaScript 컴파일러. 배포용 웹 앱을 빌드할 때 사용하는 컴파일러

- dartdevc : 모듈식 Dart-to-JavaScript 컴파일러인 Dart dev 개발 서버를 실행할 때 사용하는 컴파일러

 

 

마무리

플러터에 대해서 공부한 내용을 정리해봤습니다.

어떤 원리로 코드가 변환 되어서 모든 플랫폼에서 동작하는지 확인해보고 싶었는데, 능력이 부족해서인지 검색이 잘안되네요. 추후에 시간이 여유가 되면 한번더 찾아서 공부해야겠다고 생각듭니다.

아직 부족하거나 틀린 부분이 있을 수도 있으니 주의하시면 좋을 거 같습니다.

이번 포스팅은 마무리하면서 다음 포스팅에서 뵙겠습니다.