Ikhtisar Teknis
Selamat Datang di Dokumentasi Teknis Wails v3
Bagian ini bukan tentang panduan komunitas atau cara membuka pull-request. Sebaliknya, bagian ini membahas bagaimana Wails v3 dibangun agar Anda dapat dengan cepat berorientasi di codebase dan mulai hacking dengan percaya diri.
Baik Anda berencana mem-patch runtime, memperluas CLI, membuat template baru, atau sekadar memahami internal, halaman-halaman berikut memberikan konteks teknis yang Anda butuhkan.
Arsitektur Tingkat Tinggi
Jantung setiap aplikasi Wails adalah kode Go yang dikompilasi menjadi executable native. Backend ini memiliki logika aplikasi, integrasi sistem, dan operasi kritis performa.
UI ditulis dengan teknologi web standar (React, Vue, Svelte, Vanilla, …) dirender oleh WebView sistem yang ringan (WebKit di Linux/macOS, WebView2 di Windows).
Bridge zero-copy in-memory memungkinkan panggilan Go⇄JavaScript dengan konversi tipe otomatis, propagasi event, dan penerusan error.
wails3 mengorkestrasi pembuatan proyek, dev server live-reload, bundling asset,
cross-compilation, dan packaging (deb, rpm, AppImage, msi, dmg…).
Ikhtisar Arsitektural
Wails v3 – Alur End-to-End
[Placeholder Diagram Alur End-to-End]
Diagram menunjukkan alur end-to-end:
- CLI menggerakkan generasi, dev server, kompilasi, dan packaging.
- Binding System menghasilkan kode glue yang memungkinkan Web Frontend memanggil Go Backend.
- Selama development Asset Server mem-proxy ke dev server framework; di production melayani file yang di-embed.
- Saat runtime Desktop Runtime mengelola window dan API OS, sementara Bridge mengantar pesan antara Go dan JavaScript.
Apa yang Dicakup Dokumentasi Ini
| Topik | Mengapa Penting |
|---|---|
| Tata Letak Codebase | Peta direktori /v3 dan interaksi modul. |
| Internal Runtime | Manajemen window, API sistem, message processor, dan shim platform. |
| Asset & Dev Server | Cara asset web dilayani di dev dan di-embed di production. |
| Pipeline Build & Packaging | Alur kerja berbasis Taskfile, kompilasi lintas platform, dan generasi installer. |
| Binding System | Pipeline analisis statis yang menghasilkan binding Go⇄TS type-safe. |
| Template System | Arsitektur generator yang menggerakkan wails3 init -t <framework>. |
| Testing & CI | Harness tes unit/integrasi, GitHub Actions, panduan race detector. |
| Memperluas Wails | Menambahkan service, template, atau sub-perintah CLI. |
Setiap halaman berikutnya membahas area-area ini dengan contoh kode konkret, diagram, dan referensi ke file sumber yang relevan.
Selamat menjelajah — dan selamat datang di internal Wails v3!