Ikhtisar Teknis
Arsitektur tingkat tinggi dan peta jalan untuk memahami basis kode Wails v3
Selamat Datang di Dokumentasi Teknis Wails v3
Bagian ini bukan tentang pedoman komunitas atau cara membuka pull request. Sebaliknya, bagian ini membahas secara mendalam cara Wails v3 dibangun agar Anda dapat dengan cepat memahami basis kode dan mulai mengutak-atiknya dengan percaya diri.
Baik Anda berencana memperbaiki runtime, memperluas CLI, membuat templat baru, maupun sekadar memahami cara kerja internalnya, halaman-halaman berikut menyediakan konteks teknis yang Anda perlukan.
Arsitektur Tingkat Tinggi
Inti setiap aplikasi Wails adalah kode Go yang dikompilasi menjadi berkas executable native. Kode ini menangani logika aplikasi, integrasi sistem, dan operasi yang kritis terhadap performa.
UI ditulis dengan teknologi web standar (React, Vue, Svelte, Vanilla, …) dan dirender oleh WebView sistem yang ringan (WebKit di Linux/macOS, WebView2 di Windows).
Bridge dalam memori tanpa penyalinan memungkinkan pemanggilan Go⇄JavaScript dengan konversi tipe otomatis, propagasi event, dan penerusan error.
wails3 mengatur pembuatan proyek, server pengembangan dengan pemuatan ulang otomatis, bundling aset, kompilasi silang, dan pengemasan (deb, rpm, AppImage, msi, dmg…).
Ikhtisar Arsitektur
Wails v3 – Alur Menyeluruh
[Placeholder Diagram Alur Menyeluruh]
Diagram tersebut menunjukkan alur menyeluruh:
- CLI mengendalikan pembuatan kode, server pengembangan, kompilasi, dan pengemasan.\
- Sistem Binding menghasilkan kode penghubung yang memungkinkan Frontend Web memanggil Backend Go.\
- Selama pengembangan, Server Aset meneruskan permintaan ke server pengembangan framework; dalam produksi, server ini menyajikan berkas yang disematkan.\
- Saat runtime, Runtime Desktop mengelola jendela dan API sistem operasi, sedangkan Bridge mengirimkan pesan antara Go dan JavaScript.
Cakupan Dokumentasi Ini
| Topik | Mengapa Ini Penting |
|---|---|
| Tata Letak Basis Kode | Peta direktori /v3 dan cara modul berinteraksi. |
| Cara Kerja Internal Runtime | Pengelolaan jendela, API sistem, pemroses pesan, dan shim platform. |
| Aset & Server Pengembangan | Cara aset web disajikan saat pengembangan dan disematkan dalam produksi. |
| Pipeline Build & Pengemasan | Alur kerja berbasis Taskfile, kompilasi lintas platform, dan pembuatan installer. |
| Sistem Binding | Pipeline analisis statis yang menghasilkan binding Go⇄TS yang aman terhadap tipe. |
| Sistem Templat | Arsitektur generator yang mendukung wails3 init -t <framework>. |
| Pengujian & CI | Kerangka pengujian unit/integrasi, GitHub Actions, dan panduan race detector. |
| Memperluas Wails | Menambahkan layanan, templat, atau subperintah CLI. |
Setiap halaman berikutnya membahas area-area ini secara mendalam dengan contoh kode konkret, diagram, dan referensi ke berkas sumber yang relevan.
Selamat menjelajah—dan selamat datang di cara kerja internal Wails v3!