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

Go跨平台UI开发之wails的使用(1)项目初始化

UI开发为了迁就同事,入坑了Go,虽然Go写UI程序是真的坑,不过,还是决定继续用吧。

第一版只有Windows版,用了webview2+Vue的方案,webview2依赖如下:

github.com/jchv/go-webview2

新版改造,准备兼容Mac和Linux,尝试了webview_go:

 github.com/webview/webview_go

因为webview2本身就是参考了webview_go的纯Go实现的版本,所以切换webview_go只用了几分钟,非常的快,但是,webview_go因为是从另一c项目包装衍生,在创建Webview窗体时,可选参数非常少,并且修改非常不便,比如创建时,不能预设桌面居中,不能预设窗体大小等问题,指定一个父窗体句柄可能能解决这些问题,但是对于Go来说,需要再引入额外的GUI库,于是果断放弃。

决定尝试wails+Vue的方案:

github.com/wailsapp/wails

 按文档创建项目即可:

安装 | Wails

环境依赖:

  • Go 1.18+
  • NPM (Node 15+)

安装 Wails:

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

生成一个Vue 项目:

wails init -n myproject -t vue

进入项目目录,用之前的Vue项目替换frontend目录的项目,然后安装Vue项目依赖,鉴于npm节点的不稳定性,推荐使用cnpm(阿里维护的项目,相关知识自行搜索),运行:

cnpm i

 然后运行命令:

wails dev

可以看到程序窗口成功运行,wails dev命令其实调用的是wails.json中配置的npm run dev命令,可自行配置。

下一步,就可以开始愉快地进行代码迁移了。


http://www.mrgr.cn/news/83588.html

相关文章:

  • scala基础学习(数据类型)-集合
  • (详细整理!!!!)Tensorflow与Keras、Python版本对应关系!!!
  • 回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测
  • 【JAVA 基础 第(18)课】HashSet 使用方法详解
  • 【cs.AI】25.1.11 arxiv更新速递
  • HTML中meta的用法
  • 26个开源Agent开发框架调研总结(2)
  • 一步迅速学会 B+ 树 的核心概念
  • SpringAOP前置——代理模式
  • 机器视觉3-线性分类器
  • 机器学习数据预处理preprocessing
  • 《自动驾驶与机器人中的SLAM技术》ch7:基于 ESKF 的松耦合 LIO 系统
  • ubuntu22.4 ROS2 安装gazebo(环境变量配置)
  • nginx-配置指令的执行顺序!
  • 计算机网络 笔记 网络层1
  • 【DB-GPT】开启数据库交互新篇章的技术探索与实践
  • Vue2+OpenLayers调用WMTS服务初始化天地图示例(提供Gitee源码)
  • vite5.x配置https
  • Windows 安装 Docker 和 Docker Compose
  • C#中的运算符和类--06
  • C# 虚方法和抽象方法的区别,重写和重载的区别,参数修饰符(ref、out、in、params)--09
  • [Unity]MacOS下开发Unity
  • 计算机组成原理(1)
  • 英语语法精简框架
  • stable diffusion 量化学习笔记
  • Go语言之路————go环境的初始化