Development Requirement
Dalam mendevelop aplikasi performa tinggi membutuhkan spesifikasi hardware yang yang cukup untuk besar untuk mempercepat proses kompilasi dan simulasi.
Dari sisi hardware ada beberapa rekomendasi untuk proses development:
- CPU 64-Bit ARM/x86_64/aarch64 Architecture
- CPU Thread Minimal 8 Threads
- RAM Minimal 8 GB
- STORAGE Minimal 60 GB NVME/SSD
Dari sisi softare berikut rekomendasi nya:
- OS dengan support Bash terminal (WSL, Debian Base/Ubuntu, MacOS)
- Git untuk Source Code Management
- Docker/Podman/OrbStack untuk containerisasi (Pilih salah satu saja)
- IDE (Visual Studio Code, NeoVIM (LazyVIM) )
- NixPackage untuk standardisasi environments
Installation
Untuk Development Rust ada beberapa app yang perlu disiapkan
- Linux/Debian Base
# Update Dependency ke latest
sudo apt update -y
# Upgrade Dependency ke latest
sudo apt upgrade -y
# Install base untuk build binary tools
sudo apt install build-essential -y
# Install Rustup - All in one Rust Tools
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- MacOS
- Install XCode
- Install Rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Windows
- Install Microsoft Visual Studio (Check C++ Compatibility)
- Install Rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Recommendation Configs
Berikut ada beberapa konfigurasi yang direkomendasikan untuk mempercepat proses development
- install SCCACHE untuk cache build agar proses build lebih cepat
cargo install sccache
- Install Redis Server / Redis Alternative seperty Dragonfly yang nantinya digunakan sebagai cache di dalam RAM
- Konfigurasi bash profile file. File bisa berupa
.bashrc/.zshrc/.zprofile/.bash_profile/.profiledan tambahkan config berikut:
export SCCACHE_REDIS=redis://127.0.0.1:6379/0
export RUSTC_WRAPPER=/Users/han/.cargo/bin/sccache
- Konfigurasi build cache menjadi 1 shared folder dengan mengedit bash profile file
export export CARGO_TARGET_DIR=/Users/han/.cargo/target
Recommendation Cargo Tools
# auto rebuild kode rust jika ada perubahan
cargo install cargo-watch