프로젝트 소개
Floem은 세밀한 반응성과 인체공학적인 선언적 코드에 집중한 네이티브 Rust UI 라이브러리입니다. README에 따르면 Xilem, Leptos, rui에서 영감을 받은 고성능 선언적 UI 라이브러리입니다. 뷰 트리는 한 번만 구축되며, 이를 통해 뷰 생성 함수에서 실수로 병목 현상이 발생하는 것을 방지합니다. 또한 효율적인 UI 코드를 작성하기 위한 가상 리스트와 같은 도구를 제공합니다.
이 라이브러리는 Windows, macOS, Linux를 지원하는 크로스 플랫폼입니다. 렌더링은 vger 또는 vello를 통한 wgpu를 사용하거나, AnyRender의 GPU 기반 Skia 렌더러를 사용할 수 있습니다. GPU를 사용할 수 없는 경우 tiny-skia 기반의 CPU 렌더러가 사용됩니다. 레이아웃은 Taffy를 사용하며 모든 뷰 노드에서 Flexbox와 Grid를 모두 지원합니다.
Floem은 UI 상태 업데이트를 최소화하고 효율적으로 유지하기 위해 leptos_reactive에서 영감을 받은 signal이라는 반응형 프리미티브를 포함합니다. 위젯은 클래스와 테마를 지원하는 스타일링 API를 통해 외관과 동작을 사용자 정의할 수 있으며, 서드파티 테마 설치가 가능합니다. 또한 트랜지션과 키프레임 애니메이션을 지원하며, 스프링 함수를 통한 이징(easing)을 제공합니다.
README에서 언급된 다른 기능으로는 레이아웃 디버깅을 위한 엘리먼트 인스펙터, 글로벌 라이트 및 다크 테마, 커스텀 테마 선언을 위한 내장 디자인 시스템, 그리고 폴백, 런타임 언어 전환 및 부분별 언어 오버라이드를 지원하는 Fluent 크레이트를 통한 지역화가 있습니다. 퀵스타트 예제에서는 RwSignal, Button, Label을 사용한 카운터를 보여줍니다. 위젯 갤러리를 포함한 문서와 코드 예제가 링크되어 있습니다. 프로젝트 측은 현재 성숙 단계에 있으며 v1 이전까지 간혹 파괴적 변경(breaking changes)이 발생할 수 있다고 명시했습니다. 기여는 언제나 환영하며, 즉시 사용 가능한 Lapdev 클라우드 개발 환경이 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.