Golang 本身是沒有自帶官方 GUI 給使用者開發,有 Qt、TK、Electron 各種不同實現的GUI實現方式桌面應用程式
當然較為可靠的是 Flutter for Desktop 來進行建構,畢竟背後是富爸爸 Google 進行維護
但是這次先不提 Flutter,想透過 WebView 來進行桌面應用程式開發
最初想要 HTML 嵌入顯示畫面,通常想到的都是使用 Electron 來實現
Lorca
LorcaChrome/Chromium
Electron
限制
- Chrome/Chromium >= 70
安裝 Lorca
GO111MODULE = off
GO111MODULE = on
在專案目錄中初始化 Go模組管理環境
Example Hello World
作者有提供範例可供參考
Hello Wrold!
範例中很簡單,以資料文件網頁型態導入
Hello World!
Example Counter
目錄結構
.
├── assets.go
├── build-linux.sh
├── build-macos.sh
├── build-windows.bat
├── counter.gif
├── gen.go
├── go.mod
├── go.sum
├── icons
│ ├── icon-256.png
│ ├── icon.icns
│ └── icon.png
├── main.go
└── www
├── favicon.png
└── index.html
測試另一個 範例 Counter 就能看到一個計數器
8.4M
雖然不能跟 flutter 一樣能在 Mobile 上面呈現,但是只針對桌面應用,已經很足夠了
UPX3.6M
問題
Swipe
導致有可能發生的錯誤或邏輯問題
Javscript
個人覺得不是一個很好的解決方案,如果有更好的方法,我會在進行補充
結論
WebView
WebView