🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

忍不住推薦 : AI 時代 ,桌面端真的可以考慮一下Go+Wails 的組合

一. 前言

之前有過關注的小夥伴 ,一定知道我之前主要的桌面端是 : PyQT + Python 的組合。 這個組合整體來說很成熟也很強大。

基於腳手架 ❗❗❗ ,簡單的小工具能輕鬆解決,複雜的也能做一個十幾個頁面,近10萬行的複雜項目, 整體還能保證一定的流暢性。

但是 ,隨著對精細功能的逐步提高 ,以及更多多樣化的定制需求,代碼量的增加 ,這一套有點吃力了。並且AI在其中的作用越來越低

二. 一次心血來潮的嘗試

代碼邏輯越簡單 ,流程越精簡,AI是越擅長的

直到我無意中了解到 Go 也有自己的桌面端方案 ,並且社區活躍度還相當不錯 :
@ github.com/wailsapp/wails

image.png

於是我週末花了大概小半天時間讓AI寫了個小應用 ,期間我還開了兩把遊戲 ,哇 ,這效果真的不錯。

然後我就很簡單的得到了這樣一個應用 :
image.png
image.png
image.png

三. 做一個小總結

但是這裡可能會讓很多小夥伴想到這樣一個架構 : Node.js + Electron. 這也是一個很多人都知道的熱門組合,我之前也多次使用過他開發小工具 ,效果也不錯。

但是我覺得 GO-Wails 比他更適合AI時代 : 這裡讓AI做了一個很清晰的總結 ,關於 GO 和 Electron 的選擇 :

維度 Go+Wails Electron
性能 ⭐⭐⭐⭐⭐ 飛快 ⭐⭐ 慢
體積 ⭐⭐⭐⭐⭐ 苗條 ⭐⭐ 臃腫
開發效率 ⭐⭐⭐ 需學Go ⭐⭐⭐⭐⭐ 前端直接上手
生態/插件 ⭐⭐⭐ 發展中 ⭐⭐⭐⭐⭐ npm應有盡有
調試體驗 ⭐⭐⭐ 夠用 ⭐⭐⭐⭐⭐ DevTools真香
系統整合 ⭐⭐⭐⭐⭐ 直接調C/系統API ⭐⭐⭐ 需要繞路
跨平台一致性 ⭐⭐⭐ WebView有差異 ⭐⭐⭐⭐⭐ 自帶瀏覽器,表現統一
安全性 ⭐⭐⭐⭐ 攻擊面小 ⭐⭐⭐ Node+前端=風險大

針對我來說 ,我主要有兩個目的 :

  • 我更傾向於帶傳統後端能力的結構,要具有傳統後端的複雜邏輯處理能力和優秀的性能
  • 我需要一個美觀的 APP 樣式 ,在樣式層面 ,沒有什麼語言比 JavaScript 更強了
  • 我需要更小的應用體積 ,方便轉發
  • 我需要更接近腳本的簡單語法 ,邏輯更簡單 ,代碼更輕鬆 , 0 基礎就可以通過AI實現

結合這些 ,Go + Wails 真的是一個完美的選擇。

四. 簡單說說 Go-Wails

Wails = Go後端 + Web前端 + 系統WebView,打包成一個輕量原生桌面應用.

Wails 具體幹了三件事

第一件:嵌入一個瀏覽器窗口
Wails 不會自帶瀏覽器內核,而是借用操作系統已有的。Windows 上用 WebView2(就是 Edge 的內核),macOS 上用 WebKit(Safari 的內核),Linux 上用 WebKitGTK。你的前端代碼(HTML、CSS、JS)就在這個窗口裡渲染,和在瀏覽器裡打開網頁沒什麼區別。

第二件:搭一座橋讓 JS 和 Go 互相調用
這是 Wails 最核心的能力。正常情況下,前端想調用後端需要發 HTTP 請求。但 Wails 生成了一層綁定代碼,讓你在 JS 裡可以直接調用 Go 函數,就像調用本地函數一樣,不需要自己寫介面、處理請求響應。Go 函數的返回值會直接傳回給 JS。反過來,Go 也可以向前端發送事件,前端監聽就行。

第三件:把所有東西打包成一個文件
打包時,Wails 會把前端的 HTML、CSS、JS 全部嵌入到 Go 的二進制文件裡。最終產物就是一個可執行文件,用戶雙擊就能運行,不需要額外安裝任何東西。

這一篇不是教程文檔 ,這東西 AI 一查一大把 ,這裡就不細說了。

五. 上代碼

@ gitee.com/antblack/ant_go_wails_scaffold

image.png

打包後的大小(PS :這裡我沒有試過分發後能不能開箱就用,哈哈哈)

image.png

總結

能在這麼短的時間構建出這麼好的一个項目 ,並且打包只需要小小的15M . 啟動還是秒開,我覺得未來我的大部分項目應該都會基於這個項目實現。

如果你現在想找到一個好用的桌面端框架體系 ,可以考慮這個。

0基礎 + AI 就可以輕鬆的實現複雜的功能 ,真的太適合AI了

最後的最後 ❤️❤️❤️👇👇👇


原文出處:https://juejin.cn/post/7583226204036186153


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝15   💬10   ❤️4
406
🥈
我愛JS
📝1   💬7   ❤️3
61
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付