본문 바로가기
Flutter

[Flutter] 플러터의 스키아(Skia) 엔진 및 구조

by jungha_k 2023. 6. 2.

플러터 : 구글이 구현한 크로스 플랫폼 프레임워크

무려 안드로이드 / iOS / 웹 / 맥OS / 윈도우 / 리눅스 까지 지원!

 

  • 상대적으로 다루기 쉽다
  • 크로스 플랫폼 호환성이 상당히 자연스럽다 (=이질감이 적다)
  • 구글에서 강력하게 밀고 있다

 

스키아(Skia)엔진? - 플러터가 직접 통신을 하는 2D 렌더링 엔진

어떤 플랫폼이든 스키아 엔진을 지원하는 플랫폼에서는 똑같은 API를 사용해서 프로그래밍 가능!

어떤 플랫폼이든 일관된 UI 제공 가능

한번에 6가지 플랫폼을 대상으로 배포할 수 있다.

 

스키아 엔진을 사용했을 때의 장점 : 

1. 웹뷰를 사용하지 않고 '직접' 스키아 엔진을 사용해서 UI를 그려냄

2. 새로 렌더링이 필요한 위젯들만 렌더링 → 높은 퍼포먼스

   ex) 리액트 네이티브는 자바스크립트 브릿지를 통해서 플랫폼과 통신, 플랫폼의 UI를 그대로 사용.

   so, 필요 리소스 비용이 매우 높다~

 


플러터 구조

프레임워크 계층 : 위젯 / 애니메이션 / 머터리얼 패키지 / 쿠퍼티노 패키지 등

엔진(Engine) 계층 : 플러터 코어 API, 스키아 그래픽 엔진, 파일시스템, 네트워크 기능 정의됨

임베더(Embeddder) 계층 : 6개 플랫폼의 네이티브 플랫폼과 직접 통신, 운영체제의 자체적 기능을 모듈화

댓글