HOME

UI 시스템 블랙북

ui-system-blackbook
hermet
UI 시스템 핵심 기능
UI 툴킷
엔진
렌더링
동적 라이브러리 ⇒ 프로그램과 라이버르리가 런타임에 연동되는 방식
정적 라이브러리 ⇒ 프로그램 패키징(컴파일) 시점에 프로그램과 라이브러리가 연동되는 방식

1장 UI 툴킷과 앱

기본 그래픽 요소는 화면을 장식해주는 이미지와 문맥 정보를 전달하는 텍스트 두개로 축약 됨.
UI 컴포넌트
컨테이너
화면에 배치하기 위한 layout, 외양이 없거나 scalable UI를 보장하기 위한 원칙과 기능 동작을 구현 함.
비 컨테이너
외양을 기반으로 사용자와 상호 작용을 수행하는 UI 컴포넌트
SearchBox, Button, Toggle, CheckBox
UI 컴포넌트와 UI 툴킷 엔진은 UI 엔진과 렌더링 엔진에 의존하여 기능을 수행 함.
UI 엔진은 UI 컴포넌트 기능을 제외한 UI 핵심 기능을 정의 한다.
시스템 통합, 이벤트, 입출력, 메인 루프
렌더링 엔진은 캔버스 기반으로 UI를 드로잉하고 화면에 출력하는 기능을 담당.
캔버스는 UI 시스템의 구현 전략 중 하나로 시스템 특성에 따라 다르게 실제/구현 할 수 있음.
UI 컴포넌트는 렌더링 엔진에서 제공하는 원시 기능을 활용하여 컴포넌트 고유의 비주얼을 완성하고, 컴포넌트 고유의 기능을 앱이 사용할 수 있도록 API를 제공함.

이벤트 처리

복수의 이벤트가 수행함 수로 등록 된 경우, 어떤 함수가 먼저 호출되는지 정책을 명확히 해야 한다.

정규좌표계

좌표단위가 화소가 아닌 정규화 된 범위.
(0,0) ~ (1,1) 임의의 화면 크기게 대응하는 UI 객체를 배치 가능.
절대 좌표계의 고정 UI 문제점을 개선 할 수 있다.
정규 좌표계를 사용할 경우 위치 및 레이아웃을 지정할때 유용하지만, 컨텐츠 크기는 고정 크기가 적합 할때가 많다.

상대 좌표

어떤 UI 컴포넌트가 특정 컴포넌트의 위치와 크기에 의존하는 경우