프로젝트 소개

Iced는 단순성과 타입 안전성에 중점을 둔 Rust용 크로스 플랫폼 GUI 라이브러리로, Elm과 The Elm Architecture에서 영감을 받았습니다. 네이티브 데스크톱 및 웹 애플리케이션을 구축하기 위한 배터리 포함 API를 제공합니다. 주요 기능으로는 간단하고 사용하기 쉬운 API, 타입 안전한 반응형 프로그래밍 모델, Windows, macOS, Linux 및 웹에 대한 크로스 플랫폼 지원, 반응형 레이아웃, 텍스트 입력 및 스크롤 가능 영역과 같은 내장 위젯, 사용자 정의 위젯 지원, 성능 지표 및 타임 트래블링을 갖춘 디버그 도구, futures를 사용한 비동기 액션에 대한 일급 지원이 있습니다. 생태계는 모듈식으로, 재사용 가능한 부분으로 나뉩니다. 기존 시스템과의 통합을 가능하게 하는 렌더러에 구애받지 않는 네이티브 런타임, wgpu(Vulkan, Metal 및 DX12 지원)와 tiny-skia(소프트웨어 폴백)를 활용하는 두 가지 내장 렌더러, 그리고 윈도잉 셸이 있습니다. The Elm Architecture를 따르면, 애플리케이션은 네 가지 개념을 중심으로 구성됩니다. State(애플리케이션 상태), Messages(사용자 상호작용 또는 이벤트), View 로직(메시지를 생성하는 위젯으로 상태를 표시), Update 로직(메시지에 반응하고 상태를 업데이트). README에는 이 패턴을 보여주는 완전한 카운터 예제가 포함되어 있습니다. Iced는 원래 Elm의 단순성을 2D 게임 라이브러리에 도입하려는 시도로 만들어졌으며, 핵심은 2019년 5월에 구현되었습니다. 이후 최종 사용자 지향 GUI 라이브러리로 발전하면서 생태계를 모듈식으로 유지하고 있습니다. 이 프로젝트는 현재 실험적인 소프트웨어이며, 로드맵과 이슈 트래커를 사용할 수 있습니다. 개발은 Kraken.com의 Cryptowatch 팀이 후원하고 있습니다.