Rust(4) Crate

Rust에서는 추가로 설치하는 패키지를 Crate(상자)라고 부릅니다

Rust에서는 기본적으로 난수(Random Number)를 만드는 기능이 포함되어있지 않은데, rand라는 이름의 crate를통해 이 기능을 지원합니다.

명령어로 crate 추가하기

# 최신버전 설치
cargo add rand

# 특정 버전을 정확히 지정 (예: 0.8.0)
cargo add rand@0.8.0

Cargo.toml 파일 수정하기

toml을 편집에서 아래처럼 수정한뒤 빌드를 새로하면 자동으로 설치가됩니다. 다만 이런경우 특정버전을 꼭 명시해야하므로 모른다면 위 명령어를 사용해서

[dependencies]
rand = "0.8.5"

추천 crates

이곳은 한동안 (2026년3월~2026년 9월) 지속적으로 추가할 예정입니다.

winit

  • 창 생성 및 이벤트 루프 (Windows Win32/UWP, macOS AppKit 대체 및 공용) – 2026년 현재 사실상 표준

wgpu (WebGPU)

  • Rust에서 WebGPU API를 사용하기 위한 핵심 크레이트입니다. 브라우저뿐만 아니라 네이티브(Windows, Mac)에서도 동일한 코드로 Vulkan, Metal, DX12를 추상화해줍니다.

egui

  • Immediate Mode GUI 방식으로, 매 프레임마다 UI를 새로 그립니다. 설정이 매우 간편해서 도구나 게임 엔진용 UI에 최적입니다.
  • 장점: wgpu와 연동되는 공식 예제가 매우 잘 되어 있습니다. 학습 곡선이 낮습니다.
  • 추천 조합: eframe (winit + wgpu + egui를 하나로 묶은 프레임워크)

Iced

  • Elm 아키텍처를 차용한 Declarative(선언형) UI 라이브러리입니다. 상태 관리가 명확하며 일반적인 앱 느낌의 UI를 만들기에 좋습니다.
  • 장점: 성능이 뛰어나고 코드가 깔끔합니다. 최근 wgpu 렌더러 지원이 강력해졌습니다.

rand (난수 생성)

nalgebra 또는 glam

  • glam: 게임 개발에 최적화되어 있어 속도가 매우 빠르고 API가 직관적입니다. (추천)
  • nalgebra: 과학 계산이나 물리 엔진 수준의 정교한 수학이 필요할 때 사용합니다.

pollster (비동기 실행)

  • wgpu의 많은 함수는 비동기(async)로 동작합니다. 하지만 간단한 네이티브 앱에서 tokio 같은 무거운 런타임을 쓰기 부담스러울 때, pollster를 쓰면 간단히 block_on으로 비동기 코드를 실행할 수 있습니다.

댓글 남기기