当前位置: 首页 > wzjs >正文

网站建站 上海软文推广广告公司

网站建站 上海,软文推广广告公司,湖南十大龙头企业,焦作做微信网站多少钱Golang作为一个越来越流行的服务端开发语言,以 跨平台、语法简洁、高并发协程处理能力、自带GC、编译后安装包直接使用无依赖等特点越来越受到各个互联网公司的欢迎。 Golang一直以来主要都是在服务端开发领域,逐步取代蚕食了C/C、PHP市场,以…

Golang作为一个越来越流行的服务端开发语言,以 跨平台、语法简洁、高并发协程处理能力、自带GC、编译后安装包直接使用无依赖等特点越来越受到各个互联网公司的欢迎。

Golang一直以来主要都是在服务端开发领域,逐步取代蚕食了C/C++、PHP市场,以及一部分Java市场,并且逐步在越来越取代的趋势。所以,更多需要探索一下Golang与其他语言集合开发的可能性。

主流 Golang GUI 框架对比

框架渲染方式平台支持活跃度特点
FyneOpenGL全平台★★★★★现代化、轻量、Material Design
WailsWebView全平台★★★★☆Go+Web技术、打包简单
Lorca/Webview系统浏览器全平台★★★☆☆轻量级、嵌入Web视图
Gio自定义渲染全平台★★★★☆即时模式、高性能
WalkWin32 API仅Windows★★★☆☆原生Windows体验
gotk3GTK3绑定主要Linux★★★☆☆GTK原生体验
ui原生UI全平台★☆☆☆☆简单API、开发停滞
go-astilectronElectron全平台★★☆☆☆完整Electron功能
go-sciterSciter引擎全平台★★☆☆☆嵌入式HTML/CSS引擎
nucular自定义渲染全平台★★☆☆☆即时模式UI

目前风头很盛的 Tauri 也是与Rust进行了结合,但是Rust很高的学习曲线,让很多人望而却步了,Golang + wails 就是有点类似于 Rust + Tauri 的模式,基本都是类似于 Electron 的桌面端解决方案。

使用 Golang+wails 开发的桌面程序案例

Tiny-RDM是一个Redis客户端管理软件,可以运行在 Windows/MacOS/Linux 等系统,使用Golang + Wails开发完成。

软件效果:

Image

Image

软件源码结构:( gihub地址:https://github.com/tiny-craft/tiny-rdm )

Image

Wails 安装

支持平台

  • Windows 10/11 AMD64/ARM64
  • MacOS 10.13+ AMD64
  • MacOS 11.0+ ARM64
  • Linux AMD64/ARM64

基础必备条件:

  • Go 1.20+
  • NPM (Node 15+)

直接通过go命令进行安装:

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

Image

安装完成以后,会在自己个人主目录下面生成对应 wails的可以执行程序:

Image

把这个可执行程序加入到全局PATH变量:(Linux和MaxOS加入到自己环境变量)

Image

检查一下自己环境是否缺乏相应的依赖:wails doctor

重点关注自己golang版本、node版本等关键信息。

Image

Wails 使用入门

首先需要初始化wails项目,帮助生成基础目录和框架:

wails init -n "Black-Wails-App" -t vue-ts --ide vscode -d ./go_wails_test

Image

其中的 -t 参数是 template 的意思,就是使用什么框架进行界面开发,常用前端模板选项:

vanilla - 纯JavaScript

vue - Vue框架

vue-ts - Vue + TypeScript

react - React框架

react-ts - React + TypeScript

preact - Preact框架

preact-ts - Preact + TypeScript

svelte - Svelte框架

svelte-ts - Svelte + TypeScript

lit - Lit框架

solid - SolidJS框架

如果需要它生成相应的IDE配置文件,常用IDE选项

vscode - Visual Studio Code

goland - GoLand

intellij - IntelliJ IDEA

生成的目录结构:

Image

项目生成的目录布局:

.
├── build/
│   ├── appicon.png
│   ├── darwin/
│   └── windows/
├── frontend/
├── go.mod
├── go.sum
├── main.go
└── wails.json/main.go - 主应用程序
/frontend/ - 前端项目文件
/build/ - 项目构建目录
/build/appicon.png - 应用程序图标
/build/darwin/ - Mac 特定的项目文件
/build/windows/ - Windows 特定的项目文件
/wails.json - 项目配置
/go.mod - Go 模块文件
/go.sum - Go 模块校验和文件frontend 目录没有针对 Wails 的特定内容,可以是你选择的任何前端项目。
build 目录在构建过程中使用。这些文件可能会更新以自定义你的构建。如果从构建目录中删除文件,将重新生成默认版本。
go.mod 中的默认模块名称为“changeme”。你应该将其更改为更合适的名称。

如果想要在浏览器中直接调试,可以执行:wails dev

Image

访问本地浏览器内容,发现已经可以顺利显示页面了:

Image

非常方便进行调试。

想要生成直接可以执行的exe程序,可以执行:wails build

Image

Image

然后执行 go_wails_test.exe 程序后,效果类似于浏览器中显示效果,只是是个9.6MB的独立可执行程序:

Image

Wails 自我开发

上面只是默认的状态,如果想要进行真的项目开发,比如把前台模型进行变化等。

假设我们要做一个:黑夜路人的AI工具箱的项目,那么可以按照如下进行开发。

修改前端首页:go_wails_test\frontend\index.html

  <!DOCTYPE html>
- <html lang="en">
+ <html lang="zh-CN"><head><meta charset="UTF-8"/><meta content="width=device-width, initial-scale=1.0" name="viewport"/>
-     <title>Black-Wails-App</title>
+     <title>黑夜路人的AI工具箱</title></head><body><div id="app"></div><script src="./src/main.ts" type="module"></script></body></html>

然后进行一些其他的修改,包括前端依赖包的修改:package.json (注意这些依赖需要使用 npm install 安装)

{"name": "frontend","private": true,"version": "0.0.0","type": "module","scripts": {"dev": "vite","build": "vue-tsc --noEmit && vite build","preview": "vite preview"},"dependencies": {"vue": "^3.2.37","@vueuse/core": "^10.7.0","vue-router": "^4.2.5"},"devDependencies": {"@vitejs/plugin-vue": "^3.0.3","typescript": "^4.6.4","vite": "^3.0.7","vue-tsc": "^1.8.27","@babel/types": "^7.18.10","sass": "^1.69.5","@types/node": "^20.10.4"}
}

增加了一部分前端vue代码:

Image

现在执行:wails build 看看效果 (独立程序)

Image

已经基本像模像样了,并且里面的按钮都是可点击的。

简单验证了整个开发过程,非常类似于我们常规的 前端 + 后端的开发模式,中间还有很多细节需要探索,比如前端如何调用Golang的API之类的。

总结

使用Wails框架开发跨平台桌面应用的优势与不足:

优势

  1. 1. 轻量打包:

    1. 应用体积小(可低于10MB),不依赖浏览器运行时,但内存占用与Electron类应用相近。
  2. 2. 开发高效:

    • 结合Golang后端与前端技术(如JS/HTML/CSS),支持浏览器实时调试,适合快速开发小工具。
    • 自动生成前后端绑定代码,简化数据交互(如Go结构体与JS对象转换)。
  3. 3. 灵活资源管理:

    1. 支持本地或远程资源加载,便于实现热更新。
  4. 4. 想象力很大

    1. 因为Golang的高效和简洁,可以在开发桌面端的时候,完全使用

不足

  1. 1. 性能瓶颈

    • 所有使用Webview为核心的桌面程序的通病,包括 Tauri和Electron 都存在的问题。
    • 前后端通信开销大,复杂操作(如大量数据增删)需拆分处理,易引发界面卡顿,Web前端处理能力有限,难以应对高性能需求。
  2. 2. 功能局限

    • 缺乏系统级API(如窗口监听、多窗口支持、系统菜单)。
    • 不支持导出Web版本,Go后端无法直接在浏览器运行(依赖未来WebAssembly支持),也不算大毛病,因为本质就是桌面程序
  3. 3. 生态不完善

    • 无官方插件市场,依赖有限的Go后端库和纯前端NPM插件。
    • 缺乏原生应用自更新功能(仅前端可热更新,Go部分需重新安装)。

Wails适合熟悉Golang和Web开发的开发者快速构建轻量级桌面应用,但在性能、兼容性、系统集成和生态方面仍有明显短板,需权衡需求选择。随着框架迭代(如自更新、WebAssembly支持),部分问题可能得到改善。


【大模型介绍电子书】

快速揭秘DeepSeek背后的AI工作原理

要获取本书全文PDF内容,请在【黑夜路人技术】VX后台留言:“AI大模型基础” 或者 “大模型基础” 就会获得电子书的PDF。

 

http://www.dtcms.com/wzjs/67551.html

相关文章:

  • 网站建设群seo深圳网络推广
  • 让网站快速收录免费建站的平台
  • 网站模板演示怎么做网站被禁用如何解决
  • 阿里巴巴logo的含义搜索引擎优化的步骤
  • 网站的按钮怎么做 视频kol营销
  • 企业微信网站开发建网站流程
  • 公司想推广做网站有用百度竞价价格查询
  • 做网站还需要续费天津seo排名效果好
  • 如何做天猫网站百度关键词seo公司
  • 广州信科做网站官网seo是什么
  • 企业宣传网站建设图示网络营销招聘
  • 有没有帮忙做推广的网站百度安装
  • 平度推广网站建设网站建设详细方案模板
  • 自己做的网站打不开了免费的网站域名查询app
  • crm网站推荐网站优化推广哪家好
  • 宝安高端网站设计怎么样能让手机流畅到爆的软件
  • 网站建设一站式seo内链优化
  • 怎么做网站像淘宝这样的营销渠道
  • 网站建设方案书要怎么样写跨境电商培训
  • 网站图片上传代码天津百度关键词seo
  • 上海专业建站最低价企查查在线查询
  • 佛山公司官网制作哪家好宁波seo网络推广咨询价格
  • 强的小企业网站建设seo标题生成器
  • 潍坊市做网站营销模式
  • 美女教师做爰网站现在推广引流什么平台比较火
  • 博彩类网站怎么做跨境电商哪个平台比较好
  • 网站文章怎么做标签快速排名提升
  • 做网站常见程序网络推广公司企业
  • 网站建设日程安排seo属于运营还是技术
  • 电子商务网站建设实训室简介网络营销推广