与v2相比,Wails v3引入了重大变更。它以更灵活的过程式方法取代了单窗口声明式 API。这种新的 API 设计提高了代码可读性并简化了开发,尤其适合复杂的多窗口应用程序。
Wails v3标志着使用 Go 和 Web 技术构建桌面应用程序的方式实现了重大演进。
多窗口
Wails v3引入了在单个应用程序中创建和管理多个窗口的能力。借助此功能,开发者可以突破单窗口应用程序的限制,设计更复杂、更灵活的用户界面。
每个窗口都可以独立配置,从而灵活控制其大小、位置、内容和行为。这样便可创建针对不同功能使用独立窗口的应用程序,例如主界面、设置面板或辅助视图。
开发者可以通过编程方式创建、操作和管理这些窗口,从而构建可适应用户需求和应用程序状态的动态用户界面。
系统托盘集成
Wails v3为系统托盘功能提供了强大支持,使应用程序能够持续驻留在用户桌面上。此功能尤其适用于需要在后台运行或让用户快速访问关键功能的应用程序。
Wails v3系统托盘集成的主要功能包括:
-
窗口附加:可以将窗口与系统托盘图标关联。激活时,该窗口会相对于图标位置居中显示,为用户快速访问应用程序提供了极为便捷的方式。
-
全面的菜单支持:创建内容丰富的交互式菜单,让用户可直接通过系统托盘图标访问。这样无需打开完整的应用程序窗口即可快速执行操作。
-
自适应图标显示:同时支持浅色和深色模式图标,确保应用程序的系统托盘图标在不同系统主题下始终清晰可见且美观。macOS 还支持模板图标。
改进的绑定生成
Wails v3显著改进了项目的绑定生成方式。绑定是连接 Go 后端与前端的纽带,让两者能够无缝通信。
现在使用功能强大的静态分析器生成绑定,从根本上改进了绑定生成流程。它不仅提升了速度,还会保留注释和参数名称,从而维持代码质量。
绑定生成流程现已简化,只需执行一条命令:wails3 generate bindings。
改进的构建系统
Wails v3引入了更灵活、更透明的构建系统,解决了上一版本的局限。在v2中,构建过程大多不透明且难以自定义,这可能会让希望更好地掌控项目构建过程的开发者感到困扰。
v2构建系统曾经承担的所有繁重工作(例如生成图标和创建清单)都已作为工具命令添加到 CLI 中。我们将Taskfile集成到 CLI 中,用它编排这些调用,从而提供与v2相同的开发体验。同时,这种方式在灵活性与易用性之间实现了最佳平衡,因为现在可以根据需要自定义构建过程。
如果你偏爱 make,甚至也可以使用它!
改进的事件
Wails 现在会针对各种运行时操作和系统活动发出事件。 这使你的应用程序能够实时响应这些事件。 此外,还提供了跨平台(通用)事件,让你能够编写可在不同操作系统上 一致工作的事件处理方法。
可以注册事件钩子来同步处理特定事件。与 On方法不同,这些钩子允许你在需要时取消事件。一个常见 用例是在关闭窗口前显示确认对话框。这样,你就能更好地控制 事件流程和用户体验。
Wails 标记语言(wml)
这是一项实验性功能,可使用纯 HTML 调用运行时方法,类似于 htmx。
示例
examples 目录中还提供了更多示例。快去看看吧!