Flutter앱 유지보수 1년 간 해보기 프로젝트 -3 (플러터란? 플러터엔진)

박경현·2023년 11월 2일
0

다트언어 정리가 다 끝났으니 이제 플러터가 무엇인지에 대해 그리고 어떻게 구동되는지 적어보려고 한다.

플러터란 & 플러터의 구동 원리

  • 플러터는 구글이 구현한 크로스 플랫폼 프레임워크다
  • 플랫폼 간 이질감이 적은 크로스 플랫폼 프레임워크

스키아 엔진이라는 2D렌더링 엔진과 직접 통신을 하기 때문에
스키아 엔진이 실행되는 플랫폼에서는 같은 API를 사용해서 프로그래밍 가능하다

이런 장점 때문에 플러터프레임워크는 일관된 UI를 제공 가능하며,
UI디버깅 부담이 줄어든다!!

스키아 엔진이란

Skia는 다양한 하드웨어 및 SW플랫폼에서 공통 API를 제공하는 오픊소스 2D 그래픽 라이브러리이다.
구글크롬, 안드로이드, 파이어폭스 등 많은 다른 제춤들의 그래픽 엔진 역할을 한다!!

플러터는 각각의 디바이스에서 렌더링 하는 방법으로 Skia를 사용하기 때문에 각각의 디바이스에 제한 없이 동일한 화면으로 렌더링이 가능합니다.

플러터 프레임워크의 구조

3계층으로 구성되어있다.

상위계층, 중간계층, 임베디드계층으로 나뉘어져 있다

상위계층

플러터 개발자들이 대부분의 시간을 보내는 프레임워크 계층이다.
위젯, 애니메이션, Material 패키지 등을 구성하는 곳이다.

중간계층

C++로 대부분 작성되어 있는 계층이다.
플러터 코어 API와 스키아 그래픽엔진, 네트워크 기능 등이 정의 되어있다.

임베디드 계층

플러터가 현재 지원하는 6개의 네이티브 플랫폼과 직접 통신
OS 자체 기능을 모듈화 해둔 계층, 각 부분이 플랫폼의 네이티브 언어로 작성되어있다.

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글