Go?Wails開發(fā)桌面應用使用示例探索
最近一直在基于 go-wails 開發(fā)嘗試開發(fā)一些Mac的桌面小應用,前面做了一個簡單的 桌面時鐘的小應用.功能比較單一,沒有做一些數(shù)據(jù)的操作等.于是又重新開發(fā)了一個新的小應用做了一些新的嘗試,廢話不多說,做一個介紹與記錄
go-wails 介紹
wails官方介紹
Wails 是一個可讓您使用 Go 和 Web 技術編寫桌面應用的項目。將它看作為 Go 的快并且輕量的 Electron 替代品。Wails 帶有許多預配置的模板,可讓您快速啟動和運行應用程序。 有以下框架的模板:Svelte、React、Vue、Preact、Lit 和 Vanilla。 每個模板都有 JavaScript 和 TypeScript 版本。
項目效果
項目介紹
項目結構與前面的項目 wails_pf 類似,但這次我采用了前端框架 「tailwindcss」 來設計界面,并使用了 sqlite 數(shù)據(jù)庫來存儲數(shù)據(jù)。
該項目的主要目的是記錄日常生活中的密碼等信息。在開發(fā)的過程中,我遇到了一些問題,將它們記錄下來,以備將來參考。
Tailwindcss
Tailwind CSS 是一個功能類優(yōu)先的 CSS 框架,它集成了最流行的 CSS 工具集
由于前段使用的是 Tailwindcss, 在開發(fā)的時候 不得不開 使用 tmux 開2個窗口,來進行開發(fā), 效果如下:
于是找「官方文檔」 發(fā)現(xiàn)有配置的地方, 但是配置后沒有達到想要的結果.在目錄中的 wails.json 文件進行的配置:
"build:dir": "", // 前端目錄的相對路徑。默認為“frontend” "frontend:dir": "", // 安裝 Node 依賴的命令,在前端目錄運行 - 通常是`npm install` "frontend:install": "", // 構建資產(chǎn)的命令,在前端目錄中運行 - 通常是 `npm run build` "frontend:build": "", // 此命令已被 frontend:dev:build 取代。如果未指定 frontend:dev:build 將回退到此命令。 // 如果此命令也未指定,將回退到 frontend:build "frontend:dev": "", // 此命令是 frontend:build 的 dev 等價物。 // 如果未指定回退到 frontend:dev "frontend:dev:build": "", // 此命令是 frontend:install 的 dev 等價物。如果未指定回退到 frontend:install "frontend:dev:install": "", // 此命令在 `wails dev`上的單獨進程中運行。用于第 3 方觀察者或啟動 3d 方開發(fā)服務器 "frontend:dev:watcher": "", // 用于服務資產(chǎn)的第 3 方開發(fā)服務器的 URL,比如 Vite。 // 如果設置為 'auto' 那么 devServerUrl 將從 Vite 輸出中推斷出來
只能等待項目的后續(xù)了.
項目的登錄
由于項目涉及到登錄,按照慣例我使用了 session 會話管理,但在 Mac 下發(fā)現(xiàn)不太支持,最終我只能放棄了 session 并使用了 localStorage 進行存儲,以解決登錄問題。
在官方倉庫中搜索了一番,發(fā)現(xiàn)有其他開發(fā)者也遇到了類似的問題,于是我也將方案切換至 localStorage。如果有大佬解決了這個問題,請分享一下經(jīng)驗。
項目的數(shù)據(jù)存儲
剛開始設計項目的時候是準備離線使用的, 所以選了個 sqllite 數(shù)據(jù)庫, 但是在開發(fā)的過程中涉及到 數(shù)據(jù)庫存儲的路徑問題, 于是搞了個 install 的界面, 用來在程序安裝的時候配置數(shù)據(jù)存儲路徑.最后發(fā)現(xiàn)這玩意有點坑,由于權限問題,配置的路徑會出現(xiàn)權限問題.于是乎, 看好多的應用 默認直接在 /tmp 下搞.于是也寫死,在 /tmp下來做
目前開發(fā)遇到這些問題,后續(xù)更新有問題再做記錄
以上就是Go Wails的使用示例探索的詳細內(nèi)容,更多關于Go Wails探索的資料請關注腳本之家其它相關文章!
相關文章
Golang標準庫syscall詳解(什么是系統(tǒng)調用)
最近在研究go語言,發(fā)現(xiàn)go語言系統(tǒng)調用源碼只有調用函數(shù)的定義,今天通過本文給大家分享Golang標準庫syscall詳解及什么是系統(tǒng)調用,感興趣的朋友一起看看吧2021-05-05掌握GoLang Fiber路由和中間件技術進行高效Web開發(fā)
這篇文章主要為大家介紹了GoLang Fiber路由和中間件進行高效Web開發(fā),本文將深入探討 Fiber 中的路由細節(jié),學習如何創(chuàng)建和處理路由,深入了解使用路由參數(shù)的動態(tài)路由,并掌握在 Fiber 應用程序中實現(xiàn)中間件的藝術2024-01-01