众所周知,Go主要用于构建API,Web后端,CLI工具。但是除了这些,其实Go还可以做很多其它事情,比如开发桌面应用。
通过Wails框架,我们可以使用Go和Vue.js构建出桌面应用程序。
使用Wails开发桌面应用非常的容易,只需要使用简单的命令,我们就可以搭建出运行框架,而且打包应用非常简单,只需要一条命令就可以完成。
Wails提供了将Go代码和Web前端包装到一个二进制文件中的功能。通过Wails CLI,我们可以轻松处理项目的创建,编译和捆绑。
安装
我们可以使用go get非常快速地安装wails cli环境。
go get github.com/wailsapp/wails/cmd/wails wailswails setup
事件绑定
go和前端通过事件进行绑定,前端绑定golang的方法之后,就可以和golang进行数据的传递,并且这种传递是双向的,前端可以给后端发送数据,后端也可以给前端推送数据。
方法调用
后端可以通过Bind方法将实例绑定到app上,然后前端可以通过后端绑定的实例来调用方法。
package mainimport ( "github.com/leaanthony/mewn" "github.com/plutov/packagemain/cpustats/pkg/sys" "github.com/wailsapp/wails")func main() { js := mewn.String("./frontend/dist/app.js") CSS := mewn.String("./frontend/dist/app.css") stats := &sys.Stats{} app := wails.CreateApp(&wails.AppConfig{ Width: 512, Height: 512, Title: "CPU Usage", JS: js, CSS: css, Colour: "#131313", }) app.Bind(stats) app.Run()}
window.backend.instance.functionname
总结
Wails的出现为我们使用go开发桌面提供了另一种思路,事件绑定概念使控制应用程序的状态变得非常容易。
当然,Wails还处于成长阶段,目前可能还有些不完善的地方,不过这并不影响我们去学习和使用它,毕竟使用一门语言来做所有事情是我们所期望的,虽然这并不现实。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。