Slint는 Rust, C++, JavaScript, Python 앱에서 네이티브 UI를 만들 수 있는 선언형 GUI 툴킷입니다.
elixir-crab/gpui
Rust 기반 GPUI 프레임워크로 선언형 UI를 렌더링하는 네이티브 데스크톱 앱용 Elixir 라이브러리입니다.
- 스타
- 102
- 포크
- 4
- 열린 이슈
- 12
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
GPUI를 사용하면 Elixir로 네이티브 데스크톱 애플리케이션을 작성할 수 있습니다. 애플리케이션 상태, 창 레이아웃, UI 선언은 Elixir에서 관리하고, 네이티브 이벤트 루프, 창, 렌더링, 포커스, IME, 접근성은 Rust가 처리합니다. UI는 HEEx 스타일 템플릿으로 작성하며, 포인터, 키보드, 접근성 활성화 이벤트는 타입이 지정된 이벤트 경로를 통해 Elixir로 전달됩니다.
동일한 선언형 애플리케이션을 로컬 네이티브 디스플레이, 디스플레이 서버가 필요 없는 결정론적 테스트 디스플레이, 또는 다른 머신의 원격 디스플레이에서 실행할 수 있습니다. 일반적인 컨트롤은 별도 패키지인 gpui_components에서 제공하며, gpui-component를 기반으로 합니다. Linux, Apple silicon macOS, x86-64 Windows용 사전 컴파일된 NIF 아카이브도 제공됩니다.
이 저장소는 Mix umbrella 프로젝트로, gpui, gpui_components, gpui_native 패키지와 리치 텍스트 트랜스크립트, BEAM 런타임 대시보드, 컴포넌트 갤러리 등의 예제를 포함합니다.
핵심 기능
- 01Elixir에서 HEEx 스타일 템플릿으로 작성하는 선언형 UI
- 02Rust와 GPUI가 처리하는 네이티브 창, 포커스, IME, 접근성
- 03디스플레이 서버 없이 실행되는 결정론적 테스트 디스플레이
- 04권한이 있는 세션을 다른 머신에 유지하는 원격 디스플레이
- 05UTF-16 위치, 실행 취소/다시 실행, IME를 지원하는 지속형 네이티브 텍스트 편집
- 06가상화된 컬렉션 및 선택 가능한 리치 텍스트
활용 사례
- 기존 Elixir/OTP 시스템을 기반으로 네이티브 데스크톱 도구나 대시보드 구축
- 디스플레이 서버 없이 Elixir 데스크톱 뷰의 UI 테스트 작성
- Elixir에서 제어하는 애플리케이션의 창을 다른 머신에 표시
- Elixir 데스크톱 앱에 버튼과 폼 같은 일반적인 컨트롤 추가
빠른 시작
- 1
저장소를 클론합니다
- 2
종속성을 가져옵니다
mix deps.get - 3
hello window 예제를 실행합니다
RUST_FONTCONFIG_DLOPEN=1 mix run apps/gpui/examples/getting_started/01_hello_window.exs
사용 전 알아둘 점
- 사전 컴파일된 네이티브 바이너리는 Linux, Apple silicon macOS, x86-64 Windows만 지원합니다.
- 네이티브 디스플레이 기능을 사용하려면 로컬 디스플레이 서버와 플랫폼별 사전 요구 사항이 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- gpui은(는) 무엇인가요?
- Rust 기반 GPUI 프레임워크로 선언형 UI를 렌더링하는 네이티브 데스크톱 앱용 Elixir 라이브러리입니다. GPUI를 사용하면 Elixir로 네이티브 데스크톱 애플리케이션을 작성할 수 있습니다. 애플리케이션 상태, 창 레이아웃, UI 선언은 Elixir에서 관리하고, 네이티브 이벤트 루프, 창, 렌더링, 포커스, IME, 접근성은 Rust가 처리합니다. UI는 HEEx 스타일 템플릿으로 작성하며, 포인터, 키보드, 접근성 활성화 이벤트는 타입이 지정된 이벤트 경로를 통해 Elixir로 전달됩니다.
- gpui은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- gpui은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- gpui은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. gpui의 마지막 커밋은 2026년 11월 3일입니다.
- gpui은(는) 어디에 사용할 수 있나요?
- 기존 Elixir/OTP 시스템을 기반으로 네이티브 데스크톱 도구나 대시보드 구축 디스플레이 서버 없이 Elixir 데스크톱 뷰의 UI 테스트 작성 Elixir에서 제어하는 애플리케이션의 창을 다른 머신에 표시 Elixir 데스크톱 앱에 버튼과 폼 같은 일반적인 컨트롤 추가
- gpui는 어떻게 설치하나요?
- 저장소를 클론합니다 종속성을 가져옵니다: mix deps.get hello window 예제를 실행합니다: RUST_FONTCONFIG_DLOPEN=1 mix run apps/gpui/examples/getting_started/01_hello_window.exs
- gpui은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/elixir-crab/gpui
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Rust로 데스크톱과 모바일 앱을 만드는 크로스 플랫폼 네이티브 선언형 GUI 라이브러리입니다.
앱 로직은 Go로 실행하고, 각 플랫폼의 네이티브 뷰로 화면을 그리는 크로스 플랫폼 네이티브 UI 엔진입니다.
GPUI 프레임워크에서 크로스 플랫폼 앱을 만들 수 있는 75개 이상의 스타일 지정 컴포넌트를 제공하는 Rust 데스크톱 GUI 키트입니다.
운영체제별 네이티브 위젯으로 앱을 렌더링하는 Python GUI 툴킷입니다.
OS webview를 사용하는 웹 프런트엔드나 GPU에서 그리는 네이티브 UI로 데스크톱 앱을 만들 수 있는 Go 프레임워크입니다.