지금의 개발 환경에서는 UI 시스템에서 미리 만들어둔 버튼이나 레이아웃 등을 UI 툴킷의 형태로 제공해서, 개발자가 선택해서 사용할 수 있도록 하는 형태가 보편적입니다. 개발자가 톤&매너를 정한다거나 버튼부터 일일이 디자인하는 모습은 상상하기 힘들죠. 이 UI 툴킷은 애초에 개발자가 고민해 보아야 할 다양한 문제를 미리 고민한 다음 그래픽 요소를 만들어 제공하는 것입니다. 하지만 툴킷은 단지 세련된 디자인을 제공하는 수준에 머물지 않습니다. 각 컴포넌트들이 기본적인 동작을 갖추고 원활하게 작동해야 합니다.

| SnowUI. UI 시스템은 개발자의 편의를 도모하면서 세련된 디자인을 제공한다.

예를 들어 화면에 버튼을 배치한다고 해 봅시다. UI 툴킷이 제공되는 상황에서는 원하는 버튼을 선택해서 배치하면 되지만 만일 UI 툴킷이 없다면 어떨까요? 버튼을 디자인하는 문제 이전에 생각해야 하는 것이 한두 가지가 아닙니다. 버튼의 일반 상태/눌린 상태의 레이블을 어떻게 다르게 표시할 것인지, 버튼 속 텍스트의 길이가 길면 어떻게 처리할 것인지, 화면 크기를 키웠을 때 버튼이 어떤 원칙에 따라 커지게 할 것인지, 화면 크기를 너무 줄여 아무것도 선택할 수 없는 상황에 이르지 않도록 하려면 어떤 방안을 강구해야 하는지 등등… 개발자가 생각해 보아야 할 것투성이입니다.

| 화면 크기를 줄였을 때 버튼을 구분할 수 없는 상황.
1장에서는 스케일러블 UI 설계 시 고민할 부분들에 대해 설명한다.

《UI 시스템 블랙북》은 GUI(그래픽 사용자 인터페이스)를 제공하는 응용 프로그램을 뒷받침하는 UI 시스템을 설명합니다. 화면을 구성하는 그래픽 요소는 어떤 이론과 기술을 바탕으로 하고 있는지, 어떤 점을 미리 고민해서 만든 것인지, 어떤 과정을 거쳐 화면에 출력되는지, 어떻게 해야 앱이 느려지지 않게 하면서 화면을 최대한 미려하게 만들 것인지 등을 시스템 설계의 측면부터 살펴봅니다. 가상의 객체 지향 언어로 작성한 코드 예제를 통해 좀 더 구체적으로 내용을 이해할 수 있도록 돕습니다.

그래픽을 화면에 출력하는 작업은 많은 비용이 듭니다. 렌더링 과정에서 앱이 느려진다면 사용자가 ‘뒤로 가기’ 버튼을 누르는 주요 원인이 될 수 있습니다. 《UI 시스템 블랙북》에서는 그래픽 요소의 개념과 기술을 알아보는 데 그치지 않습니다. 각 요소를 처리하는 과정을 조망하고 성능과 품질 간의 절충 방안을 제시하는 등 성능 개선을 위한 통찰을 얻도록 해줍니다.

《UI 시스템 블랙북》은 UI 시스템에 대한 최초의 가이드로 볼 수 있습니다. 다양한 기술 분야를 소개하며 독자들에게 UI 시스템의 핵심 이론을 습득하는 데 필수적인 지식을 제공합니다. 오픈 소스 활동과 실무 경험을 통해 쌓아온 저자의 지식이 담겨 있어, 이 책을 읽는 것만으로도 폭넓은 정보를 얻을 수 있을 것입니다. 이 책은 저자의 경험을 다음 세대에게 전달하는 역할을 할 것입니다.
최준수, ThorVG 오픈 소스 커미터, 삼성전자

《UI 시스템 블랙북》은 UI, 그래픽스, 사용자 경험을 고려한 인터페이스 설계, 알고리즘, 최적화 등 저자의 소프트웨어 엔지니어링 기술과 경험을 종합적으로 담고 있습니다. SW 엔지니어링 내공을 쌓는 데 많은 도움이 될 것입니다.
강준원, PUBG 그래픽스 엔지니어, 크래프톤

《UI 시스템 블랙북》은 GUI 앱 개발의 견고한 기반 지식을 제공합니다. 코드 예시를 통해 친절하게 설명하며, 사용자 인터페이스의 내부를 깊이 파헤칩니다. 이 책을 통해 UI 기능들의 구현 원리를 더욱 명확하게 이해할 수 있을 것입니다.
김신우, Enlightenment 오픈 소스 커미터, 삼성전자

《UI 시스템 블랙북》은 UI와 그래픽스 시스템 개발 분야에 처음 발을 딛는 분들을 위한 가이드로, 시스템 구조, 상호작용, OS, 윈도우 시스템, 그래픽스 프레임워크, 위젯 시스템 등 중요한 개념을 소개하며 개발자들이 더 잘 이해하고 개발할 수 있도록 돕습니다. 이 분야에 처음 진입하거나 깊이 있는 지식을 원하는 개발자에게 유용합니다.
문관경, GPU 소프트웨어 엔지니어, 인텔

《UI 시스템 블랙북》은 현대의 여러 UI 프레임워크에 적용된 동작 원리와 각각의 강점 및 한계를 충실히 설명하여 앱 동작의 기본 원리를 학습할 수 있습니다. 이러한 지식은 효율적이고 최적화된 UI 앱 개발에도 도움이 됩니다. 저자가 현업의 경험을 바탕으로 하고 있기에 다양한 실무적 이슈에 대한 간접 경험을 덤으로 얻게 될 것입니다.
이유진, 안드로이드 UI 프레임워크 엔지니어, 삼성전자

《UI 시스템 블랙북》은 안드로이드, iOS 및 브라우저에서 UI를 개발하는 방법을 다루는 다른 책들과 달리, UI 작성 시 필요한 다양한 개념의 기초부터 UI 엔진 내부의 깊이 있는 내용까지 아우르고 있습니다. 이 책은 복잡한 UI 앱을 더 현명하게 만들기 위한 근본적인 통찰력을 제공할 것입니다.
최병운, 웹킷 오픈 소스 커미터, 네이버

박춘언 저자님은 삼성전자 타이젠 플랫폼 UI 시스템 기술 개발을 담당하던 당시에 새로 합류한 팀원들이 필수 역량을 빠르게 습득할 수 있는 학습 자료가 있었으면 좋겠다고 생각했지만 정작 그런 책은 찾을 수 없었다고 합니다. 그때부터의 고민과 십여 년의 경험, 노하우를 녹여낸 책이 바로 《UI 시스템 블랙북》입니다. 그렇다고 이 책이 플랫폼 개발자만을 위한 책은 아닙니다. 앱 개발자도 화면 너머 UI 시스템을 살펴보는 과정을 통해 프로그래밍과 관련 이론에 대한 이해가 깊어지고, 앱 성능 개선까지 고민해 볼 수 있습니다.

《UI 시스템 블랙북》은 다음 서점에서 구입하실 수 있습니다.

교보문고 | 알라딘 | YES24