使用 Go 语言开发桌面应用程序是一个不错的选择,因为它提供了简洁的语法和高效的性能。以下是一些流行的框架和库,你可以用来创建跨平台的桌面应用:
Wails: 这是一个允许你使用 Go 和任何前端技术栈(如 React、Vue 或 Svelte)来创建桌面应用的框架。Wails 的优势在于它提供了更小的应用体积、原生性能、简化的构建过程、优秀的开发体验以及原生用户界面元素。你可以使用以下命令安装 Wails 并创建一个新项目:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
wails init -n your-project-name -t react-ts
更多信息可以参考 。
Fyne: Fyne 是一个使用 Go 语言编写的跨平台 GUI 库,它允许你创建漂亮的用户界面,而且代码简单。你可以用很少的代码就能创建一个窗口。例如:
package main
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
a := app.New()
w := a.NewWindow("Hello")
hello := widget.NewLabel("Hello Fyne!")
w.SetContent(container.NewVBox(
hello,
widget.NewButton("Hi!", func() {
hello.SetText("Welcome :)")
}),
))
w.ShowAndRun()
}
Fyne 编译出来的程序在 Windows Server 上可能无法运行,因为需要 OpenGL 2.0 以上。更多信息可以参考 。
Walk: Walk 是一个 Windows 上的 GUI 库,它不能跨平台,但是如果你只在 Windows 上开发,那么 Walk 是一个很好的选择。它允许你创建体积小、界面颜值高的应用程序。更多信息可以参考 。
Electron-egg: 这是一个基于 Electron 的框架,它提供了工程化的能力,让你能够快速开发桌面应用。Electron-egg 结合了 Vue.js,使得前端开发更加简单。更多信息可以参考 。
Tauri: Tauri 是一个类似于 Electron 的框架,但是它使用 Rust 和 Web 技术来构建跨平台的桌面应用。Tauri 的优点包括高性能、小安装包、短启动时间以及安全性。更多信息可以参考 。
GoDesktopGUI: 这是一个基于 Go 语言的框架,专注于简化跨平台桌面 GUI 应用开发。它提供了丰富的 API 和工具集,使得开发者能够高效地构建应用程序。更多信息可以参考 。
选择哪个框架取决于你的具体需求,比如你是否需要跨平台支持,你对前端技术栈的熟悉程度,以及你对应用性能和体积的要求。
优势:1. 精简的包体:Wails的应用包体大小轻易降至10MB以下,因为不包含浏览器运行时,这对于分发和安装来说是一个很大的优势。2. 接近Web全栈开发的体验:对于同时具备前端开发能力的Gopher而言,Wails提供了即改即刷新的高效开发流程,特别适合制作小工具。3. 前后端自动绑定:通过声明Go结构体实例和接口
项目地址:github.com/fyne-io/fyne 使用初始项目:执行以上步骤即可创建一个fyne环境。hello world代码如下:运行代码执行go run main.go或者go run . 可以看到一个标题为hello world内容显示为hello world!的窗口程序。打包桌面程序:参考:developer.fyne.io/start...在fyne中有package打包命令,可以自...
Wails,作为专为Golang开发者设计的跨平台桌面应用开发框架,无疑是Gopher们的理想选择。尽管市场上存在其他选择,但就我个人体验而言,Wails的成熟度与其他框架相比略显不足。在使用Wails开发Tiny RDM这款轻量级Redis客户端的半年时间里,我对其有了深刻的见解和感悟。Wails的显著优点在于其精简的包体。得益...
golang有没有好的开源游戏框架第一个:Beego框架Beego框架是astaxie的GOWeb开发的开源框架。Beego框架最大的特点是由八个大的基础模块组成,八大基础模块的特点是可以根据自己的需要进行引入,模块相互独立,模块之间耦合性低。golang是一编译型的强类型语言,它在开发上的高效率主要来自于后发优势,不用...
利用 Go 语言开发 Windows 应用程序,可以实现与 C/C++ 相似的代码风格,只需稍作语法转换即可实现界面的构建。Walk 库通过将传统 Windows API 和控件封装为对象,以及使用回调机制处理基于消息的事件,使得开发者能够轻松地构建界面。然而,Walk 库本质上仍然依赖于 Windows 原生控件,因此在自由布局和界面...
go语言支持开发桌面级应用吗?go可以开发桌面应用,但并不是很舒适。可以使用的GUI库有:1、goqt,LiteIDE作者出品,Go和QT的绑定,还未发布 2、go.uik,纯Go实现的并发UI工具 3、walk,WindowsApplicationLibraryKit 4、gform,WindowsGUIframework 目前的话walk用得比较多 不过go的GUI库用起来没有C#...
golang为什么没有官方的gui包Go语言设计者那几个大神最初要解决的问题全部是Server端的问题(C++编译速度慢、并行编程费劲等等),一开始压根就没UI什么事儿。而且到目前为止,没有任何症兆证明Go语言开发GUI程序具有任何优势。go语言支持开发桌面级应用吗?go可以开发桌面应用,但并不是很舒适。可以使用的...
在探讨哪个编程语言更好时,应先理解每种语言的应用领域。C#广泛应用于Windows桌面应用、游戏开发以及.NET平台的Web开发。Golang专为网络和并发编程设计,尤其在大规模服务器和云应用中表现出色。Rust强调内存安全和并发性,适合系统级编程和现代软件开发。从语言友好度角度考量,C#以其直观的语法和强大的...
不过go的GUI库用起来没有C#、C/C++的那么顺手。这个问题不久之后应该会有所改善,毕竟用Go开发桌面的需求在不断增加。目前我采用的是用gohttp做后端,Webkit+HTML5做界面,表现力很好,前端不需要学习新知识,一般的管理类应用都能搞定。开发一个网站!后端用go语言,前端用PHP,Ruby还是python呢?错!大...
对于Go语言开发,goland编辑器是我的首选工具。虽然它不是免费的,但我们有方法让其免费使用。在安装golang编译器后,提升开发效率的下一步就是选择一个好用的编辑器,而goland凭借其强大功能,几乎可以称为go开发的最佳伙伴。首先,让我们开始goland的下载。最新版本为goland 2023.3.2,可在官网获取,...