mirror of
https://github.com/taigrr/wails.git
synced 2026-04-02 05:08:54 -07:00
55 lines
2.8 KiB
Markdown
55 lines
2.8 KiB
Markdown
---
|
||
title: 关于 sidebar_position: 1
|
||
---
|
||
|
||
# 关于
|
||
|
||
## 概述
|
||
|
||
Wails 是一个可让你使用 Go 和 Web 技术编写桌面应用的项目。
|
||
|
||
将它看作为轻量快速的 “Electron for Go”。 你可以结合了丰富、现代的前端技术轻松地构建具有灵活性和强大功能的 Go 应用程序。
|
||
|
||
Wails 一点也不弱!这是 [xbar](https://xbarapp.com) - 一个使用 Wails 编写的 MacOS 桌面应用。它使用 Mac 的系统原生菜单,支持浅色和深色桌面主题,主窗口使用半透明,使其具有原生应用的
|
||
“冰霜” 效果。
|
||
|
||
<div class="text--center">
|
||
<a href="https://xbarapp.com"><img src="/img/xbar-app-preview-2.png"/></a>
|
||
</div>
|
||
|
||
## 原生元素
|
||
|
||
Wails 使用专门的库来处理原生元素,例如窗口、菜单、对话框等,因此你可以构建美观、功能丰富的桌面应用程序。 它不嵌入浏览器,因此性能高。相反,它使用平台的原生渲染引擎。在 Windows 上,是基于 Chromium 构建的新
|
||
Microsoft Webview2 库。
|
||
|
||
## Go 和 Javascript 互操作
|
||
|
||
Wails 自动使你的 Go 方法可用于 Javascript,因此你可以从前端按名称调用它们!它甚至会生成 Go 方法使用的结构的 Typescript 版本,因此你可以在 Go 和 Javascript 之间传递相同的数据结构。
|
||
|
||
## 运行时库
|
||
|
||
Wails 为 Go 和 Javascript 提供了一个运行时库,可以处理现代应用程序需要的很多东西,比如事件、日志记录、对话框等。
|
||
|
||
## 实时开发体验
|
||
|
||
### 自动重新构建
|
||
|
||
当你在“dev”模式下运行你的应用程序时,Wails 会将你的应用程序构建为原生桌面应用程序,但会从磁盘读取你的资源。它将检测你的 Go 代码的任何更改,并自动重新构建和重新启动你的应用程序。
|
||
|
||
### 自动重新加载
|
||
|
||
当检测到你的应用程序资源发生更改时,你正在运行的应用程序将“重新加载”,几乎立即反馈你的更改。
|
||
|
||
### 在浏览器中开发你的应用程序
|
||
|
||
如果你更喜欢在浏览器中调试和开发,那么我们可以满足你的需求。正在运行的应用程序还有一个网络服务器,它将在连接到它的任何浏览器中运行你的应用程序。当你的资源在磁盘上发生变化时,它会刷新。
|
||
|
||
## 生成原生二进制文件
|
||
|
||
当你准备好完成应用程序的最终构建时,CLI 会将其编译为单个可执行文件,并将所有资源打包到其中。在 Windows 和 MacOS
|
||
上,可以创建用于分发的原生包。使用打包器后生成的资源(图标、info.plist、清单文件等)是你项目的一部分,可以自定义,让你完全控制应用程序的构建方式。
|
||
|
||
## 工具
|
||
|
||
Wails CLI 提供了一种简单的方法来生成、构建和打包你的应用程序。可以从许多入门模板中进行选择,以快速启动和运行!
|