TL;DR
- Whisker는 세밀한 반응형 런타임,
Taffy레이아웃, 네이티브 Host 렌더러를 사용해 Rust로 iOS·Android·웹·데스크톱 앱을 구축하는 프레임워크임. - 가상 DOM(Virtual DOM) 없이 컴포넌트와 반응형 상태를 렌더링하는 구조임.
- 소스 코드를 수정하고 저장하면 앱을 재시작하지 않고 1초 이내에 핫 리로드되며, 수정하지 않은 컴포넌트의 상태는 유지됨.
whisker run과whisker build가whisker.rs의 설정을 바탕으로gen/아래 네이티브 프로젝트를 생성함.- 현재 프리알파 단계이며, 런타임·스타일링·렌더러·모듈·라우팅·핫 리로드가 네 플랫폼에서 동작하고 API는 1.0 전에 변경될 수 있음.
시작하기
- CLI 설치와 iOS 시뮬레이터용 Rust 타깃 추가 후 새 프로젝트를 만들고 실행하는 흐름임.
cargo install whisker-cli로 CLI를 설치함.- Apple Silicon의 iOS 시뮬레이터에는
aarch64-apple-ios-sim타깃을 추가함. whisker new my-app으로 프로젝트를 만들고 디렉터리에 들어간 뒤whisker run ios로 실행함.android,web,desktop도 실행 대상으로 선택 가능함.- 플랫폼별 Rust 타깃과 추가 요구 사항이 다름.
- Android:
aarch64-linux-android타깃과 Android SDK, NDK, JDK가 필요함. - 웹:
wasm32-unknown-unknown타깃이 필요함. - Intel Mac의 iOS 시뮬레이터:
aarch64-apple-ios-sim대신x86_64-apple-ios타깃이 필요함. whisker doctor로 누락된 항목을 확인하거나 Installation 안내를 참고할 수 있음.whisker run은 소스 변경을 감시하고 앱을 재시작하지 않은 채 1초 이내에 실행 중인 앱에 변경 사항을 반영하며, 수정하지 않은 컴포넌트의 상태를 보존함.
앱 구성
- 앱 메타데이터와 플랫폼 설정은
whisker.rs에 저장함. whisker run과whisker build는 해당 설정으로gen/아래 네이티브 프로젝트를 생성하므로 별도의 실행 절차가 필요하지 않음.cargo add로 플러그인을 추가하고whisker.rs에서 설정함.- 예제 카운터 앱은
signal(0)으로 상태를 만들고,computed로 카운트 문자열을 구성함. 탭 이벤트가 발생하면 값을 1 증가시키며,css!로 레이아웃과 색상, 간격, 글꼴 크기를 지정함.
문서
- 설치 안내, 핵심 개념, 가이드, 전체 API 참조를 whisker.rs/docs에서 제공함.
상태
- 현재 프리알파 단계임.
- 유지형 Rust 런타임, 타입 지정 스타일링, Host 렌더러, 모듈, 라우팅, 핫 리로드가 iOS·Android·웹·데스크톱에서 동작함.
- 1.0 전에 API가 변경될 수 있음.
라이선스
- Apache-2.0 또는 MIT 중 선택한 라이선스로 사용 가능함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요