Wails简介

Wails 是一个结合 Go 和 Web技术来开发跨平台桌面程序的开源项目。作为一个轻量级快速的Electron替代,可以使用Wails来构建一个现代化前端的Go应用。

功能

Wails提供了以下特色功能:

  • 原生的菜单、对话框、风格和半透明(Translucency)

  • 支持Windows, macOS和Linux

  • 内置 Svelte, React, Preact, Vue, Lit 和 Vanilla JS 模版

  • JavaScript 方便调用Go方法

  • 自动将Go结构转换成TypeScript模型

  • 在Windows上无需CGO或外部DLL

  • 利用Vite的强大功能进行实时开发模式

  • 提供轻松创建,波间和打包应用程序的CLI命令

  • 丰富的运行时库

  • 使用Wails构建的应用程序符合Apple和Microsoft应用商店的要求

Wails使用专门构建的库来处理原生元素,例如窗口、菜单、对话框等,所以可以构建美观且功能丰富的桌面应用。

Wails不是嵌入浏览器运行,所以它提供了一个微小的运行时。Wails重用了平台的原生渲染引擎。在Windows上,是基于Chromium构建的新Microsoft Webview2库。

Wails会自动将Go方法提供给JavaScript,所以在前端中可以按名称调用这些Go方法。此外,还能将Go方法使用的结构生成TypeScript模型,所以可以在Go和JavaScript之间传递相同的数据结构。

Wails为Go和JavaScript提供了一个运行时库,可以处理现代应用程序所需的很多东西,例如事件、日志、兑换框等。

参考