slint-ui/slint
Slint는 Rust, C++, JavaScript, Python 앱에서 네이티브 UI를 만들 수 있는 선언형 GUI 툴킷입니다.
- 스타
- 24,241
- 포크
- 1,038
- 열린 이슈
- 749
- 마지막 커밋
- 4시간 전
어떤 프로젝트인가요?
Slint를 사용하면 자체 `.slint` 마크업 언어로 UI를 한 번 작성하고, Rust, C++, JavaScript 또는 Python으로 작성한 비즈니스 로직에 연결할 수 있습니다. `.slint` 파일은 사전 컴파일되어 네이티브 코드로 변환되며, 임베디드 시스템, 데스크톱, 모바일 플랫폼을 대상으로 합니다. 웹(WebAssembly) 데모 세트도 제공됩니다.
이 툴킷은 UI 디자인과 애플리케이션 로직을 분리해 디자이너와 개발자가 병렬로 작업할 수 있도록 합니다. 렌더링 백엔드로는 OpenGL ES 2.0(femtovg), Skia, CPU만 사용하는 소프트웨어 렌더러가 있으며, Qt가 설치되어 있으면 Qt 스타일도 사용할 수 있습니다. 도구로는 자동 완성 및 실시간 미리보기를 지원하는 LSP 서버, Visual Studio Code 확장, 자동 새로고침 기능이 있는 `slint-viewer` CLI 도구, Figma to Slint 플러그인이 제공됩니다.
Slint는 이중 라이선스로 제공됩니다. 독점 데스크톱·모바일·웹 앱에는 로열티가 없는 옵션을, 오픈소스 프로젝트에는 GPLv3 옵션을, 독점 임베디드 앱에는 상용 라이선스를 사용할 수 있습니다.
핵심 기능
- 01레이아웃, 속성, 바인딩을 정의하는 선언형 `.slint` 마크업 언어.
- 02Rust, C++, JavaScript, Python 바인딩.
- 03네이티브 코드로 사전 컴파일.
- 04다양한 렌더러: femtovg(OpenGL ES 2.0), Skia, 소프트웨어(CPU).
- 05`.slint` 파일 편집을 위한 실시간 미리보기, LSP 서버, VS Code 확장.
- 06디자인을 가져올 수 있는 Figma to Slint 플러그인.
활용 사례
- Rust 또는 C++ 애플리케이션용 데스크톱·모바일 GUI 구축.
- Raspberry Pi나 마이크로컨트롤러 같은 임베디드 기기용 UI 제작.
- WebAssembly로 컴파일한 웹 기반 UI 배포.
- 디자이너와 개발자가 UI와 로직을 분리해 작업하도록 지원.
빠른 시작
- 1
아무것도 설치하지 않고 SlintPad에서 Hello World 예제를 엽니다
- 2
언어를 선택하고 해당 언어의 Getting Started Template을 사용합니다(예: Rust template)
- 3
해당 언어의 README를 따라 Slint 패키지를 설치합니다
사용 전 알아둘 점
- 독점 앱에서 Slint를 사용하려면 로열티 프리 라이선스 또는 상용 라이선스가 필요하며, GPLv3 옵션은 오픈 소스 앱에 적용됩니다.
- JavaScript/NodeJS 및 Python 바인딩은 Beta로 표시되어 있습니다.
토픽
자주 묻는 질문
- slint은(는) 무엇인가요?
- Slint는 Rust, C++, JavaScript, Python 앱에서 네이티브 UI를 만들 수 있는 선언형 GUI 툴킷입니다. Slint를 사용하면 자체 `.slint` 마크업 언어로 UI를 한 번 작성하고, Rust, C++, JavaScript 또는 Python으로 작성한 비즈니스 로직에 연결할 수 있습니다. `.slint` 파일은 사전 컴파일되어 네이티브 코드로 변환되며, 임베디드 시스템, 데스크톱, 모바일 플랫폼을 대상으로 합니다. 웹(WebAssembly) 데모 세트도 제공됩니다.
- slint은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- slint은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- slint은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. slint의 마지막 커밋은 2026년 10월 21일입니다.
- slint은(는) 어디에 사용할 수 있나요?
- Rust 또는 C++ 애플리케이션용 데스크톱·모바일 GUI 구축. Raspberry Pi나 마이크로컨트롤러 같은 임베디드 기기용 UI 제작. WebAssembly로 컴파일한 웹 기반 UI 배포. 디자이너와 개발자가 UI와 로직을 분리해 작업하도록 지원.
- slint는 어떻게 설치하나요?
- 아무것도 설치하지 않고 SlintPad에서 Hello World 예제를 엽니다 언어를 선택하고 해당 언어의 Getting Started Template을 사용합니다(예: Rust template) 해당 언어의 README를 따라 Slint 패키지를 설치합니다
- slint은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/slint-ui/slint
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
간단하고 타입 안전하며 Elm에서 영감을 받은 프로그래밍 모델을 제공하는 Rust용 크로스 플랫폼 GUI 라이브러리입니다.
웹과 네이티브 환경에서 실행되고 게임 엔진에 임베드할 수 있는, 사용하기 쉬운 Rust 즉시 모드 GUI 라이브러리입니다.
소형 MCU부터 Linux 기반 MPU까지, 임베디드 기기용 그래픽 인터페이스를 만드는 무료 MIT 라이선스 C UI 라이브러리입니다.
선언형 DSL을 중심으로 GLFW/SDL2 윈도우 백엔드와 OpenGL/Vulkan 렌더링을 지원하는 크로스 플랫폼 C++17 UI 프레임워크입니다.
Rust 또는 TSX로 앱을 작성하고 플랫폼별 네이티브 위젯으로 렌더링하는 크로스 플랫폼 UI 엔진입니다.