한국어
Embedded
 

임베디드 리눅스 시스템에서 GUI 구현하는 선택지가 다양해지는 것 같다. 그 중 Flutter 와 wayland 의 조합은 여러가지 이유로 검토해 볼 필요가 있다.

wayland_flutter.jpg

개요

임베디드 리눅스 임베더는 GTK/GDK와 X11을 사용하지 않고 Wayland나 DRM 백엔드를 사용한다. 반면 데스크톱 Linux Flutter는 X11과 GTK/GDK에 의존한다. 
임베디드 사용 사례에서는 GTK/GDK가 항상 필요한 것은 아니며, 임베디드 제품의 CPU, 물리적 메모리, 저장 공간은 일반적으로 데스크톱보다 제한적이다.
따라서 가능한 한 자주 사용되지 않는 라이브러리는 설치하지 않는 것이 좋다. 아래 이미지는 둘의 차이점을 잘 보여준다.

flutter_for_desktop.png

flutter_for_embedded.png

임베더의 역할

  • 플러터 엔진 관리
  • Weston-desktop shell 대신 작은 Wayland 셸 사용
  • EGL Surface 생성 Flutter에 EGL Surface 제공
  • 사용자 입력(마우스, 터치, 키보드) 처리(이벤트를 Flutter로 전송)
  • Dart(Flutter 앱)와 플랫폼 네이티브 프로그램 간 통신
  • 시스템 locale

flutter_embedder.png

flutter-embedded-linux

flutter-embedded-linux 는 임베디드 리눅스용 flutter 임베더로 플랫폼 백엔드를 구현한다.

flutter-embedded-linux.png