Wails:跨平台桌面应用开发,不容错过的选择!

Wails 是一个基于 Go 语言构建的现代化跨平台桌面应用开发框架,允许开发者使用熟悉的前端技术(如 HTML、CSS、JavaScript)创建用户界面,结合 Go 后端的逻辑处理能力。

这使得开发者能快速构建轻量级、高效的桌面应用程序,同时保持代码的简洁和易于维护。

一、Wails 的架构与核心理念

Wails 的设计核心在于轻量、高效和跨平台,它没有引入如 Electron 中的 Chromium 依赖,而是利用系统自带的 WebView 渲染前端界面。

通过将现代前端框架(如 Vue、React、Svelte 等)和 Go 后端逻辑结合,Wails 提供了一种在桌面端快速开发的解决方案。

Wails 的架构特点:
  • 前端部分:可以使用任何现代前端框架(Vue、React、Svelte 等)来构建 UI。

  • 后端部分:使用 Go 处理业务逻辑和与操作系统的交互,提供 API 供前端调用。

  • 系统 WebView:利用操作系统的内置 WebView 组件,无需打包大型的浏览器引擎,应用程序更加轻量。

  • 跨平台支持:支持 Windows、macOS 和 Linux,开发者只需编写一次代码即可在多个平台上运行。

二、Wails 的主要特性

Wails 提供了一系列特性,使其成为构建桌面应用的有力工具:

  1. 原生窗口支持:基于系统原生窗口组件,应用更加轻量且性能高。

  2. 跨平台兼容性:支持 Windows、macOS、Linux,保持一致的应用行为。

  3. 前后端通信:通过 Go 和前端的双向通信机制,前端可以调用 Go 函数,Go 后端可以发送事件和数据给前端。

  4. 事件管理:内置事件系统,方便前后端之间的异步通信。

  5. 文件系统访问:提供对文件系统的访问权限,允许读取和写入本地文件。

  6. 系统 API 支持:支持显示系统对话框、通知以及托盘图标等桌面系统特性。

  7. 多窗口支持:允许应用程序创建和管理多个窗口。

  8. 高性能:利用 Go 的高性能并发能力,适合处理复杂的业务逻辑。

  9. 集成调试工具:开发过程中支持热重载和调试工具,提升开发效率。

  10. 支持多种前端框架:与 React、Vue、Svelte 等流行前端框架兼容,开发者可以选择最熟悉的前端技术栈。

三、安装 Wails
1. 安装前提

首先确保系统上安装了 Go,并且 Go 版本至少为 1.19。可以使用以下命令检查 Go 版本:

go version
2. 安装 Wails CLI

通过 Go 工具安装 Wails CLI:

go install github.com/wailsapp/wails/v2/cmd/wails@latest

将 Go 的 bin 目录添加到系统路径中,以确保 wails 命令可以在终端中运行。

3. 初始化 Wails 项目

通过 Wails 提供的 CLI,可以轻松创建新的桌面应用项目。

使用默认的 vanilla JS 模板创建新的 Wails 程序, 您需要运行这个指令:

wails init -n helloworld

这将在当前目录中创建一个名为 helloworld 的新目录。

在此目录中,您将找到许多文件:

build/       - Contains the build files + compiled application
frontend/    - Contains the frontend files
app.go       - Contains the application code
main.go      - The main program with the application configuration
wails.json   - The project configuration file
go.mod       - The go module file
go.sum       - The go module checksum file
4. 启动与打包应用

运行以下命令启动开发模式,Wails 会启动前端服务器,并实时刷新前端页面:

wails dev

当应用开发完成后,可以使用以下命令将应用程序打包为可执行文件:

wails build

这会生成一个跨平台的可执行文件,包含前端和后端代码。

5. 运行应用

如果我们在 Windows 文件管理器中查看 build/bin 目录,我们应该看到我们的项目二进制文件:helloworld.exe。

我们可以通过简单的双击 helloworld.exe 文件来运行它。

在 Mac 上,Wails 生成一个 helloworld.app 文件,可以通过双击来运行。

在 Linux 上,您可以从 build/bin 目录使用 ./helloword 运行应用程序。

您应该看到应用程序正常工作:

21bb96d2d2fbb89417c1661992d43e03.png

四、最后

Helloword 功能已验证成功,让我们深入探索更多特性吧!

Wails 框架以其高效且轻量级的优势,为开发者提供了一种构建跨平台桌面应用的卓越途径。

它巧妙地融合了前端技术的最新趋势与 Go 语言强大的后端处理能力,让应用开发更加便捷。

最后,谢谢你看到了这里👏 想要第一时间接收到推送,可以点个关注。

可点击下方👇 关注公众号

添加作者微信 👇 获取原创学习资料

9910607a056d1e566bfa234de6dc5be2.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值