🦀 Iced
100% Rust 네이티브 데스크탑 앱 개발을 위한 프레임워크입니다.
특징
- 100% Rust: WebView 없음, 자체 GPU 렌더링 (wgpu)
- The Elm Architecture: 예측 가능한 상태 관리
- 크로스플랫폼: Windows, macOS, Linux
- MIT 라이선스: 상업적 사용 제한 없음
- Laravel API 연동: reqwest + Bearer 인증
Tauri vs Iced
| 항목 | Tauri | Iced |
|---|---|---|
| UI 기반 | WebView (HTML/CSS/JS) | 네이티브 (wgpu/GPU) |
| 웹 코드 재활용 | ✅ 가능 | ❌ 불가 |
| 바이너리 크기 | ~10MB | ~3-5MB |
| OS 의존성 | WebView2/WebKit | 없음 |
| 적합한 앱 | 웹 기반 비즈니스 앱 | 시스템 도구, 에디터, 모니터링 |
프로젝트 구조
iced-app/
├── Cargo.toml # 의존성 관리
├── assets/ # 아이콘, 폰트
├── src/
│ ├── main.rs # 진입점
│ ├── app.rs # Application trait 구현
│ ├── message.rs # Message enum
│ ├── style/ # 테마, 색상
│ ├── views/ # 화면별 UI
│ ├── widgets/ # 커스텀 위젯
│ └── services/ # API 클라이언트
├── landing/ # Astro 랜딩 페이지
└── → Admin: Laravel IcedAppAdmin 플러그인
기술 스택
| 영역 | 기술 |
|---|---|
| 프레임워크 | Iced |
| 렌더링 | wgpu (GPU 가속) |
| 아키텍처 | The Elm Architecture |
| HTTP | reqwest |
| 비동기 | tokio |
| API | Laravel REST API |
적합한 프로젝트
| 프로젝트 | 이유 |
|---|---|
| 시스템 모니터링 | 실시간 차트, 낮은 리소스 |
| 코드/텍스트 에디터 | GPU 가속 렌더링 |
| 파일 관리자 | OS 통합, 네이티브 속도 |
| 네트워크 도구 | 고성능 + 경량 UI |
| 암호화폐 지갑 | 보안 중요, 의존성 최소 |
현재 사용 가능: Laravel Platform
알림 받기: 문의하기