🌐 Hệ Sinh Thái Rust
Tìm hiểu về các công cụ, cộng đồng, và resources trong hệ sinh thái Rust!
Rust không chỉ là ngôn ngữ - đó là cả một hệ sinh thái công cụ, thư viện, và cộng đồng tuyệt vời! 🦀💖
Core Tools - Công Cụ Cốt Lõi
Rustup
Việt: Trình quản lý cài đặt Rust
ELI5: Như Play Store cho Rust - cài đặt, cập nhật, quản lý versions! 📱
Giải thích: Công cụ chính thức để cài đặt và quản lý Rust toolchain.
Cài đặt:
# Linux/Mac
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Windows
# Download từ https://rustup.rs
Lệnh thường dùng:
# Cập nhật Rust
rustup update
# Kiểm tra version
rustup --version
# Cài toolchain cụ thể
rustup install stable
rustup install nightly
rustup install 1.70.0
# Đổi toolchain mặc định
rustup default stable
rustup default nightly
# Show các toolchain đã cài
rustup show
# Add target (cross-compile)
rustup target add wasm32-unknown-unknown
# Add component
rustup component add rustfmt
rustup component add clippy
Toolchains:
- Stable - Bản ổn định, khuyên dùng 🟢
- Beta - Bản testing 🟡
- Nightly - Bản mới nhất, có tính năng thử nghiệm 🔴
Rustc
Việt: Trình biên dịch Rust
ELI5: Như người phiên dịch - dịch code Rust sang ngôn ngữ máy! 🔄
Giải thích: Rust compiler, chuyển code .rs thành binary.
# Compile file đơn
rustc main.rs
# Với optimization
rustc -O main.rs
# Xem thông tin compiler
rustc --version
rustc --version --verbose
# Explain error
rustc --explain E0308
Thông thường không dùng trực tiếp - dùng Cargo thay thế!
Cargo
Việt: Build tool và package manager
ELI5: Như trợ lý vạn năng - build code, download libraries, run tests, tất cả! 🎯
Giải thích: Công cụ chính thức để quản lý Rust projects.
Lệnh cơ bản:
# Tạo project mới
cargo new my_project # Binary project
cargo new --lib my_lib # Library project
# Build
cargo build # Debug build
cargo build --release # Release build (optimized)
# Run
cargo run # Build + run
cargo run --release # Run release version
# Check (không tạo binary, nhanh hơn build)
cargo check
# Test
cargo test # Run all tests
cargo test test_name # Run specific test
# Clean
cargo clean # Xóa target directory
# Format code
cargo fmt
# Lint code
cargo clippy
# Generate docs
cargo doc
cargo doc --open # Mở docs trong browser
# Add dependency
cargo add serde # Thêm crate
cargo add serde --features derive
# Update dependencies
cargo update
# Show dependency tree
cargo tree
File Cargo.toml:
[package]
name = "my_project"
version = "0.1.0"
edition = "2021"
authors = ["Your Name <[email protected]>"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1.0", features = ["full"] }
[dev-dependencies]
criterion = "0.5"
[profile.release]
opt-level = 3
lto = true