Setup Development
Setup Lingkungan Development
Section titled “Setup Lingkungan Development”Panduan ini memandu Anda menyiapkan lingkungan development lengkap untuk bekerja pada Wails v3.
Alat yang Diperlukan
Section titled “Alat yang Diperlukan”Development Go
Section titled “Development Go”-
Instal Go 1.25 atau lebih baru:
Terminal window # Unduh dari https://go.dev/dl/go version # Verifikasi instalasi -
Konfigurasi lingkungan Go:
Terminal window # Tambahkan ke shell profile Anda (.bashrc, .zshrc, dll.)export GOPATH=$HOME/goexport PATH=$PATH:$GOPATH/bin -
Instal alat Go yang berguna:
Terminal window go install golang.org/x/tools/cmd/goimports@latestgo install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
Node.js dan npm
Section titled “Node.js dan npm”Diperlukan untuk membangun dokumentasi dan menguji integrasi frontend.
# Instal Node.js 20+ dan npmnode --version # Harus 20+npm --versionDependensi Spesifik Platform
Section titled “Dependensi Spesifik Platform”macOS:
# Instal Xcode Command Line Toolsxcode-select --install
# Verifikasi instalasixcode-select -p # Harus menampilkan pathWindows:
- Instal MSYS2 untuk lingkungan mirip Unix
- WebView2 Runtime (sudah terinstal di Windows 11, unduh untuk Windows 10)
- Opsional: Instal Git for Windows
Linux (Debian/Ubuntu):
sudo apt update# Stack default GTK4 + WebKitGTK 6.0 (Ubuntu 24.04+ / Debian 13+)sudo apt install build-essential pkg-config libgtk-4-dev libwebkitgtk-6.0-dev# Untuk jalur legacy -tags gtk3:sudo apt install libgtk-3-dev libwebkit2gtk-4.1-devLinux (Fedora/RHEL):
# Stack GTK4 defaultsudo dnf install gcc pkg-config gtk4-devel webkitgtk6.0-devel# Jalur GTK3 legacy:sudo dnf install gtk3-devel webkit2gtk4.1-develLinux (Arch):
# Stack GTK4 defaultsudo pacman -S base-devel gtk4 webkitgtk-6.0# Jalur GTK3 legacy:sudo pacman -S gtk3 webkit2gtk-4.1Setup Repository
Section titled “Setup Repository”Clone dan Konfigurasi
Section titled “Clone dan Konfigurasi”# Clone fork Andagit clone https://github.com/YOUR_USERNAME/wails.gitcd wails
# Tambahkan remote upstreamgit remote add upstream https://github.com/wailsapp/wails.git
# Verifikasi remotegit remote -vBuild CLI Wails
Section titled “Build CLI Wails”# Navigasi ke direktori v3cd v3
# Build CLIgo build -o ../wails3 ./cmd/wails3
# Tes buildcd .../wails3 versionTambahkan ke PATH (Opsional)
Section titled “Tambahkan ke PATH (Opsional)”Linux/macOS:
# Tambahkan ke ~/.bashrc atau ~/.zshrcexport PATH=$PATH:/path/to/wailsWindows:
Tambahkan direktori Wails ke variabel lingkungan PATH melalui System Properties.
Setup IDE
Section titled “Setup IDE”VS Code (Direkomendasikan)
Section titled “VS Code (Direkomendasikan)”-
Instal VS Code: Unduh
-
Instal ekstensi:
- Go (by Go Team at Google)
- ESLint
- Prettier
- MDX (untuk dokumentasi)
-
Konfigurasi workspace settings (
.vscode/settings.json):{"go.useLanguageServer": true,"go.lintTool": "golangci-lint","go.lintOnSave": "workspace","editor.formatOnSave": true,"go.formatTool": "goimports"}
GoLand
Section titled “GoLand”-
Instal GoLand: Unduh
-
Konfigurasi:
- Aktifkan dukungan Go modules
- Siapkan file watchers untuk
goimports - Konfigurasi code style agar sesuai konvensi proyek
Verifikasi Setup Anda
Section titled “Verifikasi Setup Anda”Jalankan perintah berikut untuk memverifikasi semuanya berfungsi:
# Cek versi Gogo version
# Build Wailscd v3go build ./cmd/wails3
# Jalankan tesgo test ./pkg/...
# Buat aplikasi tescd .../wails3 init -n mytest -t vanillacd mytest../wails3 devJika aplikasi tes berhasil di-build dan berjalan, lingkungan Anda siap!
Menjalankan Tes
Section titled “Menjalankan Tes”Unit Test
Section titled “Unit Test”cd v3go test ./...Tes Paket Spesifik
Section titled “Tes Paket Spesifik”go test ./pkg/applicationgo test ./pkg/events -v # Output verboseJalankan dengan Coverage
Section titled “Jalankan dengan Coverage”go test ./... -coverprofile=coverage.outgo tool cover -html=coverage.outJalankan dengan Race Detector
Section titled “Jalankan dengan Race Detector”go test ./... -raceBekerja dengan Dokumentasi
Section titled “Bekerja dengan Dokumentasi”Dokumentasi Wails dibangun dengan Astro dan Starlight.
cd docs
# Instal dependensinpm install
# Mulai dev servernpm run dev
# Build untuk productionnpm run buildDokumentasi akan tersedia di http://localhost:4321/
Debugging
Section titled “Debugging”Debugging Kode Go
Section titled “Debugging Kode Go”VS Code:
Buat .vscode/launch.json:
{ "version": "0.2.0", "configurations": [ { "name": "Debug Wails CLI", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceFolder}/v3/cmd/wails3", "args": ["dev"] } ]}Command Line:
# Gunakan debugger Delvego install github.com/go-delve/delve/cmd/dlv@latestdlv debug ./cmd/wails3 -- devDebugging Kode Platform
Section titled “Debugging Kode Platform”Debugging spesifik platform memerlukan alat platform:
- macOS: Xcode Instruments
- Windows: Visual Studio Debugger
- Linux: GDB
Masalah Umum
Section titled “Masalah Umum””command not found: wails3”
Section titled “”command not found: wails3””Tambahkan direktori Wails ke PATH Anda atau gunakan ./wails3 dari root proyek.
”webkitgtk-6.0 not found” atau “webkit2gtk not found” (Linux)
Section titled “”webkitgtk-6.0 not found” atau “webkit2gtk not found” (Linux)”Instal paket development untuk stack yang Anda build:
# Stack GTK4 default (Debian/Ubuntu):sudo apt install libwebkitgtk-6.0-dev
# Jalur GTK3 legacy:sudo apt install libwebkit2gtk-4.1-devBuild gagal dengan error Go module
Section titled “Build gagal dengan error Go module”cd v3go mod tidygo mod downloadError “CGO_ENABLED” di Windows
Section titled “Error “CGO_ENABLED” di Windows”Pastikan Anda memiliki kompiler C (MinGW-w64 via MSYS2) di PATH Anda.
Langkah Selanjutnya
Section titled “Langkah Selanjutnya”- Tinjau Standar Coding
- Jelajahi Dokumentasi Teknis
- Temukan issue untuk dikerjakan: Good First Issues