【go语言】使用wails构建桌面端应用(可跨三端)

介绍

发现一个很不错的开源项目:wails是一个使用现代化web技术(vite+vue3, react等)构建桌面端应用的go语言项目,其兼容性不错, 界面效果和性能与electron差不多。官网:https://wails.io/zh-Hans/docs/gettingstarted/firstproject

开发环境要求

  • go >= 1.18
  • node >= 16

优点

  • 项目结构清晰,ui层和基础功能分离。
  • 和web前端一样的开发体验,带F12console控制台,支持热更新。
  • 体积小,打包exe 10M左右。
  • 支持多端
    • win10、win11 64位 (依靠微软webview2内核)
    • win7 64位 (依靠微软webview2_v109内核, v109内核下载地址
    • linux 64位(amd64/arm64) (依靠libgtk3 和libwebkit2gtk两个库, deepin 20上测试功能正常)
    • MacOS 10.13+ AMD64
    • MacOS 11.0+ ARM64

项目结构

在这里插入图片描述

样例-markdown编辑器

基于go wails构建的markdown编辑器。
在这里插入图片描述

偶然冲突

如果电脑上装了安全管家之类的(如奇安信), 会被屏蔽webview2内核的dll库,应用无法正常运行,甚至edge浏览器也无法运行。相反,electron打包的应用可以正常运行。
不清楚是不是只是这台电脑的问题。。

与electron比较

  • electron打包产物,会包含完整的chromium内核以及nodejs,其体积会在300M起步(版本chromium 100+ )
  • walis打包的应用, 基础包10M, 所有应用共用一个webview2内核。只需要安装一次依赖就行。
  • 两者都是用js等前端技术搞定桌面跨端应用, UI层逻辑开发差不多。electron提供大量的原生接口以及系统交互接口,文档较多; wails只提供基本的系统交互逻辑(文件选择框,系统通知接口,系统对话框,剪切板访问等), 其余逻辑需要自行用go实现)
  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Wails是一个用于构建平台桌面应用程序的开发工具包,它结合了Go语言和Web前技术。通过使用Wails,您可以使用Go语言编写后逻辑,并使用Web前技术(如HTML、CSS和JavaScript)构建用户界面。 以下是使用Wails + Go的一些基本步骤: 1. 安装Wails CLI:您可以使用以下命令安装Wails CLI环境检测工具: ```shell go install github.com/wailsapp/wails/v2/cmd/wails@latest ``` 2. 创建新的Wails项目:使用以下命令创建一个新的Wails项目: ```shell wails init <project_name> ``` 这将在当前目录下创建一个新的Wails项目。 3. 编写Go后代码:在Wails项目的`main.go`文件中,您可以编写Go语言的后逻辑。您可以使用Go的强大功能来处理数据、执行计算等。 4. 构建界面:在Wails项目的`frontend`目录中,您可以使用Web前技术(如HTML、CSS和JavaScript)构建用户界面。您可以使用任何您熟悉的前框架或库,例如ant-design-vue。 5. 运行应用程序:使用以下命令在开发模式下运行应用程序: ```shell wails serve ``` 这将启动Wails开发服务器,并在浏览器中打开应用程序。 6. 打包应用程序:一旦您完成了应用程序的开发,您可以使用以下命令将其打包为可执行文件: ```shell wails build ``` 这将根据您的操作系统生成相应的可执行文件。 请注意,以上步骤只是Wails + Go的基本示例。您可以根据自己的需求和喜好进行更多的定制和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值