프런트엔드 경험 없이 Flutter 기반 UI로 웹, 데스크톱, 모바일 앱을 만들 수 있는 Python 프레임워크입니다.
DioxusLabs/dioxus
React 스타일 컴포넌트와 시그널을 사용해 하나의 코드베이스로 웹·데스크톱·모바일 앱을 만드는 Rust 프레임워크입니다.
대체할 수 있는 제품:React Native
Electron
- 스타
- 39,451
- 포크
- 1,938
- 열린 이슈
- 850
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
Dioxus는 웹, 데스크톱, iOS, Android 및 서버에서 실행되는 사용자 인터페이스를 만들기 위한 Rust 프레임워크입니다. HTML과 비슷한 RSX 매크로로 컴포넌트를 작성하고, 일반 HTML과 CSS로 스타일을 지정합니다. 상태는 시그널로 관리하며, 내장 CLI(dx)는 핫 리로딩을 지원하는 개발 서버와 배포용 번들링 기능을 제공합니다.
풀스택 앱을 위해 Dioxus는 axum 웹 프레임워크와 통합되며 서버 함수, 서버 사이드 렌더링, 하이드레이션, WebSockets, SSE, 스트리밍, 파일 업로드 및 다운로드, 미들웨어를 지원합니다. 렌더링 대상에는 WebAssembly를 통한 DOM, 시스템 웹뷰, 서버 사이드 렌더링, liveview, 실험적인 WGPU 기반 렌더러가 포함됩니다. Android에서는 JNI를, Apple 플랫폼에서는 Objective-C를 통해 네이티브 API를 호출할 수 있습니다.
또한 프로젝트에는 shadcn/ui와 Radix Primitives를 본뜬 공식 프리미티브 컴포넌트가 포함되어 있으며, dx CLI로 모바일용 .ipa 및 .apk 파일을 빌드할 수 있습니다.
핵심 기능
- 01웹, 데스크톱, iOS, Android를 대상으로 하는 Rust 코드베이스 하나로 개발할 수 있습니다.
- 02마크업과 스타일의 핫 리로딩을 지원하며, Rust 코드 핫 패치도 실험적으로 지원합니다.
- 03React와 유사한 컴포넌트 모델과 시그널 기반 상태 관리를 제공합니다.
- 04axum 통합, 서버 함수, 하이드레이션을 지원하는 SSR 등 풀스택 기능을 제공합니다.
- 05개발 서버, 번들링, 모바일 패키지 빌드를 위한 dx CLI가 내장되어 있습니다.
활용 사례
- 같은 코드로 데스크톱 빌드도 제공하는 Rust 기반 웹 앱을 개발할 때.
- 플랫폼 API를 호출하는 네이티브 느낌의 Rust 모바일 앱을 만들 때.
- axum 기반 서버 백엔드를 갖춘 풀스택 Rust 애플리케이션을 작성할 때.
- 로직은 Rust로 유지하면서 HTML과 CSS로 UI 컴포넌트를 프로토타이핑할 때.
빠른 시작
- 1
cargo로 git에서 Dioxus CLI 설치하기
cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked - 2
저장소 루트에서 example 실행하기
cargo run --example <example> - 3
web 플랫폼에서 hot-reloading으로 example 제공하기
dx serve --example <example> --platform web -- --no-default-features
사용 전 알아둘 점
- main 브랜치의 example은 최신 안정 버전이 아니라 git 버전을 대상으로 합니다. 안정 버전의 example을 사용하려면 0.6 브랜치를 사용하세요.
- dx serve --hotpatch를 사용한 hot-patching과 WGPU renderer 같은 일부 주요 기능은 experimental로 표시되어 있습니다.
토픽
자주 묻는 질문
- dioxus은(는) 무엇인가요?
- React 스타일 컴포넌트와 시그널을 사용해 하나의 코드베이스로 웹·데스크톱·모바일 앱을 만드는 Rust 프레임워크입니다. Dioxus는 웹, 데스크톱, iOS, Android 및 서버에서 실행되는 사용자 인터페이스를 만들기 위한 Rust 프레임워크입니다. HTML과 비슷한 RSX 매크로로 컴포넌트를 작성하고, 일반 HTML과 CSS로 스타일을 지정합니다. 상태는 시그널로 관리하며, 내장 CLI(dx)는 핫 리로딩을 지원하는 개발 서버와 배포용 번들링 기능을 제공합니다.
- dioxus은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- dioxus은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- dioxus은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. dioxus의 마지막 커밋은 2026년 10월 17일입니다.
- dioxus은(는) 어디에 사용할 수 있나요?
- 같은 코드로 데스크톱 빌드도 제공하는 Rust 기반 웹 앱을 개발할 때. 플랫폼 API를 호출하는 네이티브 느낌의 Rust 모바일 앱을 만들 때. axum 기반 서버 백엔드를 갖춘 풀스택 Rust 애플리케이션을 작성할 때. 로직은 Rust로 유지하면서 HTML과 CSS로 UI 컴포넌트를 프로토타이핑할 때.
- dioxus는 어떻게 설치하나요?
- cargo로 git에서 Dioxus CLI 설치하기: cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked 저장소 루트에서 example 실행하기: cargo run --example <example> web 플랫폼에서 hot-reloading으로 example 제공하기: dx serve --example <example> --platform web -- --no-default-features
- dioxus은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/DioxusLabs/dioxus
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Google의 오픈소스 SDK로, 하나의 Dart 코드베이스에서 네이티브 컴파일 모바일·웹·데스크톱 앱을 빌드합니다.
Firebase와 Google Analytics의 대안으로 제공되는 모바일·데스크톱·웹 앱용 오픈소스 개인정보 보호 우선 분석 도구
하나의 코드베이스로 SPA, SSR/SSG 사이트, PWA, 브라우저 확장 프로그램, 모바일 앱과 Electron 앱을 만드는 Vue.js 프레임워크입니다.
React Native 컴포넌트와 API를 React DOM을 통해 웹 브라우저에서 렌더링할 수 있게 해주는 라이브러리입니다.
Facebook이 사용자 인터페이스에서 최적화된 atomic CSS 스타일을 정의할 수 있도록 만든 JavaScript 스타일링 라이브러리입니다.