# Dioxus 0.6 – Rust로 개발된 크로스플랫폼 앱 프레임워크

> Clean Markdown view of GeekNews topic #18243. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18243](https://news.hada.io/topic?id=18243)
- GeekNews Markdown: [https://news.hada.io/topic/18243.md](https://news.hada.io/topic/18243.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-12-13T10:48:43+09:00
- Updated: 2024-12-13T10:48:43+09:00
- Original source: [dioxuslabs.com](https://dioxuslabs.com/blog/release-060/)
- Points: 11
- Comments: 3

## Summary

Dioxus 0.6은 Rust 기반의 크로스플랫폼 앱 프레임워크로, 웹, 데스크톱, 모바일 앱을 단일 코드베이스로 구축할 수 있으며, 이번 릴리스에서는 개발자 경험 개선과 버그 수정에 중점을 두었습니다. 주요 기능으로는 모바일 시뮬레이터 지원, 매직 핫 리로딩, 인터랙티브 CLI, 인라인 스택 트레이스, 네이티브 서버 함수 등이 추가되었습니다. 또한, 자동완성 기능 개선, 자산 시스템 안정화, 스트리밍 HTML 지원, 정적 사이트 생성 및 증분 정적 재생성 지원 등 다양한 개발자 경험 개선이 이루어졌습니다.

## Topic Body

- # Dioxus 0.6 출시  
  - Dioxus는 웹, 데스크톱, 모바일 앱을 단일 코드베이스로 구축할 수 있는 Rust 기반 프레임워크  
  - Flutter보다 더 나은 프레임워크가 목표  
  - 풀스택 웹 지원과 타입 안전한 서버/클라이언트 통신에 중점을 두며, 빠른 성능과 개발자 경험 향상에 초점을 맞춤  
  - 이번 0.6 릴리스는 Dioxus를 더 쉽게 사용하고 개발자 경험을 개선하며 버그를 수정하는 데 중점을 두었음  
  
- # 주요 기능 개선  
  - **모바일 시뮬레이터 지원**: Android 및 iOS 시뮬레이터와 장치에서 앱을 실행할 수 있는 기능 추가.  
  - **매직 핫 리로딩**: 포맷된 문자열, 속성 및 중첩된 rsx!{}의 핫 리로딩 지원.  
  - **인터랙티브 CLI**: 새로운 UX로 Dioxus CLI를 재작성하여 사용성을 개선함.  
  - **인라인 스택 트레이스**: WASM 패닉과 로그를 터미널에 직접 캡처.  
  - **네이티브 서버 함수**: 데스크탑 및 모바일 앱을 위한 인라인 서버 RPC 지원.  
  
- # 개발자 경험 개선  
  - **토스트 및 로딩 화면**: 웹 앱 개발 중 새로운 토스트 및 로딩 화면 추가.  
  - **자동완성 개선**: RSX의 자동완성 기능 대폭 개선.  
  - **자산 시스템 안정화**: 네이티브 앱에 통합된 링크 기반 자산 시스템 안정화.  
  - **스트리밍 HTML**: 서버에서 클라이언트로 서스펜스 및 오류 경계 스트리밍 지원.  
  - **SSG 및 ISG**: 정적 사이트 생성 및 증분 정적 재생성 지원.  
  - **오류 처리**: 이벤트 핸들러, 작업 및 구성 요소에서 ?를 사용하여 오류 처리.  
  - **메타 요소**: 문서 속성을 설정하기 위한 새로운 Head, Title, Meta 및 Link 요소 추가.  
  - **동기 prevent_default**: 모든 플랫폼에서 이벤트를 동기적으로 처리.  
  - **onresize 이벤트 핸들러**: IntersectionObserver 없이 요소의 크기를 추적.  
  - **onvisible 이벤트 핸들러**: IntersectionObserver 없이 요소의 가시성을 추적.  
  - **WGPU 통합**: WGPU 표면 및 자식 창 위에 Dioxus를 오버레이로 렌더링.  
  - **dx 번들**: 웹, iOS 및 Android를 위한 완전한 dx 번들 지원.  
  - **json 모드**: 제3자 도구 및 CI/CD 파이프라인에서 사용할 수 있도록 CLI 메시지를 JSON으로 출력.  
  - **새 템플릿**: 크로스 플랫폼 앱을 위한 세 가지 새로운 시작 템플릿.  
  - **야간 튜토리얼 및 가이드**: Dioxus 0.6 및 이후 버전을 위한 새로운 튜토리얼 및 가이드.  
  - **바이너리 패칭 프로토타입**: 새로운 순수 Rust 핫 리로딩 엔진의 프로토타입.  
  
- # 릴리스 정보  
  - Dioxus 0.6은 350개 이상의 풀 리퀘스트가 병합되고 수백 개의 이슈가 해결된 가장 큰 릴리스임.  
  - 핫 리로딩, 자동완성 및 자산 번들링의 품질을 크게 개선하고자 함.  
  - Dioxus CLI를 더 견고하고 사용하기 쉽게 만들고자 함.  
  - 모바일 도구를 dioxus CLI에 인라인하여 1급 모바일 지원을 제공하고자 함.  
  
- # 인터랙티브 명령줄 도구  
  - Dioxus 0.6은 완전히 개편된 CLI 경험을 제공함.  
  - 새로운 CLI는 라이브 진행률 표시줄, 애니메이션, 인터랙티브 필터 시스템, 로그 레벨을 실시간으로 변경할 수 있는 기능 등을 지원함.  
  
- # Android 및 iOS 지원  
  - Dioxus 0.6에서는 dioxus CLI가 dx serve --platform ios/android를 기본적으로 지원함.  
  - 모바일 플랫폼에 대한 1급 지원을 제공하며, Android 및 iOS 시뮬레이터 타겟은 데스크탑과 동일한 기능을 지원함.  
  
- # 핫 리로딩 엔진 개편  
  - Dioxus의 핫 리로딩 엔진에 대대적인 개선을 도입함.  
  - 포맷된 문자열, 중첩된 rsx 블록, 구성 요소 속성 및 간단한 Rust 표현식의 핫 리로딩 지원.  
  
- # 자동완성 기능 개편  
  - rsx! {}의 자동완성 기능을 대폭 개선함.  
  - Rust-analyzer와의 통합을 개선하여 더 나은 자동완성 경험을 제공함.  
  
- # 인라인 WASM 스택 트레이스 및 추적 통합  
  - WASM 앱을 위한 추적 통합을 제공하여 패닉과 로그를 캡처하고 터미널에 전송함.  
  
- # 토스트 및 로딩 화면  
  - 웹 앱 개발 중 빌드 진행 상황을 보여주는 로딩 화면과 빌드 상태를 나타내는 토스트를 제공함.  
  
- # 풀스택 데스크탑 및 모바일  
  - 네이티브 앱과 서버 함수를 통합하여 데스크탑 및 모바일 타겟에서 서버 함수가 기본적으로 작동하도록 함.  
  
- # Manganis 자산 시스템 안정화  
  - 새로운 자산 시스템 Manganis를 안정화하고 여러 버그와 성능 문제를 해결함.  
  
- # 서스펜스 및 HTML 스트리밍  
  - 비동기 UI를 위한 새로운 핵심 프리미티브인 서스펜스 경계를 도입함.  
  - Dioxus 풀스택은 서버에서 각 서스펜스 경계를 스트리밍하여 페이지 로드를 기다리지 않고 각 청크를 스트리밍함.  
  
- # 정적 사이트 생성 및 ISG  
  - 정적 사이트 생성 및 증분 정적 생성 지원을 통해 SEO를 개선하고 사용자 로드 시간을 단축함.  
  
- # 문서 요소: Title {}, Link {}, Stylesheet, Meta {}  
  - HTML 문서 객체와 상호작용할 수 있는 특별한 요소를 제공하여 추가 JavaScript 없이 문서 속성을 설정할 수 있음.  
  
- # 물음표 오류 처리  
  - Element가 이제 Option가 아닌 Result로 전환되어 Rust의 일반적인 오류 처리를 구성 요소에서 사용할 수 있음.  
  
- # 동기 prevent_default  
  - 모든 이벤트 처리를 동기적으로 수행할 수 있도록 개선하여 dioxus_prevent_default 속성을 더 이상 필요로 하지 않음.  
  
- # onresize 및 onvisible 이벤트 핸들러  
  - 요소의 크기와 가시성을 추적할 수 있는 특별한 핸들러를 제공하여 JavaScript 없이 풍부한 상호작용을 구현할 수 있음.  
  
- # 하이브리드 WGPU 오버레이  
  - Dioxus 데스크탑의 "자식 창" 기능을 통해 기존 창에 네이티브 Dioxus 앱을 오버레이로 통합할 수 있음.  
  
- # 웹, iOS 및 Android 번들 지원  
  - dx 번들에 웹 및 모바일 지원을 추가하여 다양한 타겟에 번들링할 수 있음.  
  
- # CI / CLI를 위한 JSON 출력  
  - CLI의 JSON 출력 모드를 제공하여 로깅을 JSON 형식으로 받을 수 있음.  
  
- # 새로운 시작 템플릿  
  - 크로스 플랫폼 앱을 위한 세 가지 새로운 시작 템플릿을 제공함.  
  
- # 야간 문서, 튜토리얼 및 새로운 가이드  
  - 문서와 튜토리얼을 대대적으로 개편하여 기본적인 내용을 다루고 배포에 중점을 둠.  
  
- # 인플레이스 바이너리 패칭 미리보기  
  - Rust 코드의 핫 리로딩을 추가하기 위한 실험을 진행함.  
  
- # 작은 변경 사항  
  - 시스템 트레이 지원, 사용자 정의 이벤트 루프, dioxus-document 및 dioxus-history 분리, eval API 단순화 등 다양한 작은 변경 사항을 포함함.  
  
- # 0.5에서 0.6으로 업그레이드  
  - 몇 가지 API 변경 사항이 있지만 대부분의 경우 쉽게 수정할 수 있음.  
  
- # 결론  
  - 이번 릴리스는 많은 문제를 해결하고 다양한 기능을 개선하여 Dioxus 0.6을 가장 완성도 높은 릴리스로 만듦.  
  - 앞으로는 새로운 기능보다는 튜토리얼 비디오 제작, 문서 작성, 버그 수정, 성능 개선 및 커뮤니티와의 협업에 중점을 둘 계획임.

## Comments



### Comment 32465

- Author: devsepnine
- Created: 2024-12-17T10:10:07+09:00
- Points: 1

최근에 tauri 사용중이였는데 이것도 한번 써봐야겠네요

### Comment 32309

- Author: xguru
- Created: 2024-12-13T10:50:59+09:00
- Points: 1

[Dioxus - React에서 영향받은 Rust용 크로스플랫폼 UI 라이브러리](https://news.hada.io/topic?id=8258)  
[Dioxus 0.5 - Rust로 개발하는 웹, 데스크톱, 모바일 앱](https://news.hada.io/topic?id=14052)

### Comment 32307

- Author: neo
- Created: 2024-12-13T10:48:43+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42388665) 
- 한 사용자는 새로운 릴리스를 시도한 경험을 공유하며, `cargo install`을 사용해 프로젝트를 생성하고 `dx serve`를 실행했지만 컴파일러 오류가 발생했음을 언급함. 표준 Rust 워크플로우를 사용했다면 더 쉽게 디버깅할 수 있었을 것이라고 생각함. `v`를 눌러 자세한 로그를 활성화할 수 있지만, 추가적인 명확한 정보는 제공되지 않음.

- 다른 사용자는 매 6개월마다 Rust GUI 프레임워크를 시도하지만, 데모나 플레이그라운드 다운로드 시 오류가 발생한다고 언급함. 장기적인 투자 결정을 신중히 해야 한다고 생각함.

- Dioxus는 자바스크립트를 최소한으로 사용하면서 크로스 플랫폼 기능을 제공할 수 있는 유일한 웹 플랫폼 기술 도구라고 언급함. WGPU 렌더링 스택의 발전을 긍정적으로 평가함.

- Dioxus는 생태계가 부족하며, 컴포넌트 라이브러리가 없다고 언급함. 가상 DOM에 대한 확신도 부족함. 경쟁자인 Leptos를 추적하고 사용 중임.

- 서버 측에서 Dioxus를 사용 중이며, 컴포넌트를 작성하는 방식과 개발자 경험이 매우 좋다고 평가함.

- Lustre를 발견하고 채택한 후, The Elm Architecture 외에는 사용할 생각이 없다고 언급함. Rust의 Iced를 사용해 시나리오 편집기 프로토타입을 구축 중이며, System76이 Cosmic을 구축하는 데 사용하고 있어 신뢰함.

- 새로운 기술 프레임워크가 가장 유망하다고 평가하며, 성공하면 다른 모든 프레임워크를 대체할 수 있을 것이라고 언급함. 성능에 중점을 두고 있으며, Rust가 보안과 성능의 기초를 제공함.

- Dioxus가 벤처 자본을 유치했으므로, 미래를 걸기 전에 주의해야 한다고 언급함. 저작권 양도나 CLA가 필요한지, 기여자 중 몇 명이 급여를 받는지에 대한 정보가 부족함.

- 포스트 제목의 대비가 페이지 배경과 더 잘 어울릴 수 있도록 개선할 수 있다고 제안함. Qt의 현재 위치와 접근성, HiDPI 화면 처리에 대한 비교를 질문함. C++와 Python 외의 언어에 대한 품질 바인딩이 부족하다고 느끼며, 더 나은 바인딩과 도구가 있다면 더 인기가 있을 것이라고 언급함.

- 새로운 핫 리로딩 기능이 놀랍다고 평가하며, 다른 Rust 웹 프레임워크에서 UI 업데이트를 기다리는 것이 큰 문제였다고 언급함.
