使用 Go 和 Web 技术构建桌面应用程序
Wail
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个使用 Go 和 Web 技术构建桌面应用程序的项目——WAILS。 Wails 是一个框架,可以使用 Go 和 Web 技术帮助编写桌面应用程序。对于前端,使用 Webview 库. 不过它使用平台的本机渲染引擎(当前 Linux 和 Mac 使用 Webkit,Windows 使用 MSHTML)。 前端使用 HTML / Javascript / CSS 编码,后端是纯 Go 语言。 通过绑定机制,可以将 Go 代码作为返回 Promise 的功能公开给前端。 该项目编译为单个可执行文件,将所有资源捆绑到其中。 在 Windows 和 MacOS 上,可以将二进制文件捆绑到特定于平台的程序包中进行分发。 注意:渲染引擎是 WebView,不是捆绑的 Web 浏览器,因此某些“浏览器 API”将对您的应用程序不可用,例如 localstorage。 大多数应用程序不需要使用它们制作应用程序,如果您仍然想这样做,可以使用 Go 来完成大多数事情。 功能概述 Wails 被设计成尽可能缩小 web 技术和 Go 之间的差异。前端是 Webview 组件, 并且您可以使用自己喜欢的任何常见 Javascript 框架来开发前端代码,并且可以与里面的 Go 代码进行交互。 这是通过共享的 IPC 机制来实现的。 IPC 机制可以在 2 个运行时中运行,一个运行在 Javascript 中,另一个运行在 Go 中。 它们都提供了一个简单的接口,从而减轻了开发人员直接处理 IPC 机制的负担。 运行时共享开发人员可以与之交互的公共组件:绑定和事件。 Wails 应用程序提供了一种方法,可让您将公开的 Go 代码(绑定)到前端。 使用此方法,可以将任意函数或公开的结构方法绑定。 在启动时,Wails 将分析绑定的函数/方法并自动在 Javascript 中提供等效函数。 使您可以直接从 Javascript 调用绑定的 Go 代码。 JavaScript 包装函数,处理了调用 Go 代码的所有复杂性。 您只需使用 Javascript 调用该函数并接收一个 Promise。 绑定 Go 代码功能,处理了绑定的所有复杂性。 如果对 Go 代码的调用成功完成,则结果将传递到 resolve 函数。 如果返回错误,则将其传递给 reject 函数。 Wails 提供了一个统一的事件系统,类似于 Javascript 的原生事件系统。 这意味着从 Go 或 Javascript 发送的任何事件都可以由任何一方接收。 数据可以随任何事件一起传递。 这样,您就可以做一些简单的事情,例如让后台进程在 Go 中运行,并通知前端去更新页面。 安装 安装过程非常简单,只需运行以下命令:
安装后,“wails update”命令可用于后续更新。 要获得最新功能的最新 pre-release 可以在后面附加 -pre 标签: wails update -pre. 要完成安装设置,请运行 安装命令 wails setup 并且填写对你的名字和邮箱。 使用初始化命令 wails init 生成一个新项目,选择默认选项。 切换到项目目录 cd my-project 并且使用构建命令构建命令 wails build 构建你的项目。 如果一切顺利,则应该在本地目录中有一个已编译的程序。如果使用 Windows,请使用./my-project 来运行它或双击 myproject.exe 。 项目展示 WOMBAT SURGE MOLLY 钱包 PORTFALL RESTORIC OPTIMUS 截图编辑器 —END— 开源协议:MIT 开源地址: (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |