Libadwaita 1.9, 모바일 UI/UX를 혁신하다!
Libadwaita 1.9는 새로운 사이드바 위젯(Sidebar Widget)을 도입하여 일관성 있는 UI 구축을 지원함
모바일 환경에서 사이드바를 페이지 형태의 리스트(Boxed Lists)로 변환하여 적응성을 높임
애니메이션(Animation) 개선을 통해 사용자 경험을 향상시키고 접근성을 강화함
AI 기술 배제 정책을 명시하며 개발 철학(Development Philosophy)을 강조함
새로운 사이드바 위젯(Sidebar Widget)의 등장
Libadwaita 1.9는 기존의 복잡한 사이드바 구현 문제를 해결하기 위해 AdwSidebar 위젯을 도입했다. 이 위젯은 선택, 섹션, 툴팁, 컨텍스트 메뉴, 드롭 타겟, 검색 필터 등 다양한 기능을 제공한다. 특히, GtkListBox를 내부적으로 사용하여 모바일 통합을 용이하게 하고, 페이지 모드(Page Mode)를 통해 모바일 환경에서 사이드바를 박스형 리스트(Boxed Lists)로 변환하여 적응성을 높였다.
모바일 환경을 위한 적응형 레이아웃(Adaptive Layout)
Libadwaita 1.9는 모바일 환경에서 사이드바를 페이지(Page) 형태로 표시하는 기능을 제공한다. AdwNavigationSplitView를 활용하여 사이드바를 일반 페이지처럼 보이게 하고, AdwSidebar의 `mode` 속성을 통해 박스형 리스트(Boxed Lists)로 전환한다. 이러한 접근 방식은 모바일 UI/UX의 일관성을 유지하면서도, 다양한 화면 크기에 유연하게 대응할 수 있도록 돕는다.
애니메이션(Animation) 및 접근성(Accessibility) 개선
Libadwaita 1.9는 reduced motion preference를 지원하여 애니메이션 효과를 조절한다. AdwDialog 및 AdwNavigationView와 같은 위젯의 전환 효과를 크로스페이드(Crossfade)로 변경하여, 사용자 경험을 개선했다. 또한, Adrien Plazas의 기여로 다양한 위젯의 접근성이 향상되었으며, AdwViewSwitcher 및 AdwInlineViewSwither는 배지(Badge) 및 상태 정보를 읽어들일 수 있게 되었다.
AI 기술 배제 정책(Zero-AI Policy) 및 개발 철학
Libadwaita 개발자는 AI 기술의 도입에 대해 명확한 입장을 표명하며, 자신의 프로젝트에서 AI 관련 기여를 허용하지 않음을 밝혔다. 이는 개발자의 기술적 신념(Technical Belief)을 반영하며, 프로젝트의 방향성을 제시한다. 이러한 정책은 개발 커뮤니티 내에서 특정 기술에 대한 선호도(Technology Preference)를 보여주는 중요한 사례로 볼 수 있다.