技術概覽
Wails v3 程式碼庫的高階架構與導覽路線
歡迎閱讀 Wails v3 技術文件
本節不是在介紹社群準則或如何建立提取請求。 相反地,本節將深入說明Wails v3 的建構方式,協助你快速熟悉 程式碼庫,並有信心地開始修改程式碼。
無論你打算修補執行階段、擴充 CLI、製作新範本,還是 只想瞭解其內部機制,後續頁面都會提供你所需的技術 背景。
高階架構
Go 後端
每個 Wails 應用程式的核心,都是編譯為原生可執行檔的 Go 程式碼。 它負責應用程式邏輯、系統整合,以及對效能要求嚴苛的 作業。
Web 前端
UI 使用標準 Web 技術(React、Vue、Svelte、Vanilla 等)編寫, 並由輕量的系統 WebView 呈現(Linux/macOS 使用 WebKit,Windows 使用 WebView2)。
橋接層
零複製的記憶體內橋接層可讓Go⇄JavaScript互相呼叫,並自動進行 型別轉換、事件傳播及錯誤轉送。
CLI 與工具
wails3負責協調專案建立、即時重新載入開發伺服器、資源 打包、交叉編譯及封裝(deb、rpm、AppImage、msi、dmg 等)。
架構概覽
Wails v3 端對端流程
[端對端流程圖預留位置]
此圖顯示端對端流程:
- CLI負責驅動程式碼產生、開發伺服器、編譯及封裝。\
- 繫結系統會產生黏合程式碼,讓Web 前端能夠呼叫Go 後端。\
- 開發期間,資源伺服器會將請求代理至框架的開發伺服器;正式環境中則提供內嵌檔案。\
- 執行期間,桌面執行階段負責管理視窗與作業系統 API,而橋接層則在 Go 與 JavaScript 之間傳遞訊息。
本文件涵蓋的內容
| 主題 | 重要性 |
|---|---|
| 程式碼庫配置 | /v3目錄的配置圖,以及模組之間的互動方式。 |
| 執行階段內部機制 | 視窗管理、系統 API、訊息處理器及平台轉接層。 |
| 資源與開發伺服器 | Web 資源在開發環境中的提供方式,以及在正式環境中的內嵌方式。 |
| 建構與封裝管線 | 以 Taskfile 為基礎的工作流程、跨平台編譯及安裝程式產生。 |
| 繫結系統 | 產生型別安全 Go⇄TS 繫結的靜態分析管線。 |
| 範本系統 | 驅動wails3 init -t <framework>的產生器架構。 |
| 測試與 CI | 單元/整合測試框架、GitHub Actions 及競爭偵測器指引。 |
| 擴充 Wails | 新增服務、範本或 CLI 子命令。 |
後續各頁會透過具體的程式碼範例、圖表,以及相關原始碼檔案的 參照,深入探討這些領域。
祝你探索愉快,也歡迎深入瞭解 Wails v3 的內部機制!