Go Wails开发桌面应用使用示例探索

 更新时间:2023年12月08日 09:25:22   作者:南丞  
这篇文章主要为大家介绍了Go Wails的使用示例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

最近一直在基于 go-wails 开发尝试开发一些Mac的桌面小应用,前面做了一个简单的 桌面时钟的小应用.功能比较单一,没有做一些数据的操作等.于是又重新开发了一个新的小应用做了一些新的尝试,废话不多说,做一个介绍与记录

go-wails 介绍

wails官方介绍

Wails 是一个可让您使用 Go 和 Web 技术编写桌面应用的项目。将它看作为 Go 的快并且轻量的 Electron 替代品。Wails 带有许多预配置的模板,可让您快速启动和运行应用程序。 有以下框架的模板:Svelte、React、Vue、Preact、Lit 和 Vanilla。 每个模板都有 JavaScript 和 TypeScript 版本。

项目效果

项目介绍

项目结构与前面的项目 wails_pf 类似,但这次我采用了前端框架 「tailwindcss」 来设计界面,并使用了 sqlite 数据库来存储数据。

该项目的主要目的是记录日常生活中的密码等信息。在开发的过程中,我遇到了一些问题,将它们记录下来,以备将来参考。

Tailwindcss

Tailwind CSS 是一个功能类优先的 CSS 框架,它集成了最流行的 CSS 工具集

由于前段使用的是 Tailwindcss, 在开发的时候 不得不开 使用 tmux 开2个窗口,来进行开发, 效果如下:

于是找「官方文档」 发现有配置的地方, 但是配置后没有达到想要的结果.在目录中的 wails.json 文件进行的配置:

"build:dir": "",
  // 前端目录的相对路径。默认为“frontend”
  "frontend:dir": "",
  // 安装 Node 依赖的命令,在前端目录运行 - 通常是`npm install`
  "frontend:install": "",
  // 构建资产的命令,在前端目录中运行 - 通常是 `npm run build`
  "frontend:build": "",
  // 此命令已被 frontend:dev:build 取代。如果未指定 frontend:dev:build 将回退到此命令。
  // 如果此命令也未指定,将回退到 frontend:build
  "frontend:dev": "",
  // 此命令是 frontend:build 的 dev 等价物。
  // 如果未指定回退到 frontend:dev
  "frontend:dev:build": "",
  // 此命令是 frontend:install 的 dev 等价物。如果未指定回退到 frontend:install
  "frontend:dev:install": "",
  // 此命令在 `wails dev`上的单独进程中运行。用于第 3 方观察者或启动 3d 方开发服务器
  "frontend:dev:watcher": "",
  // 用于服务资产的第 3 方开发服务器的 URL,比如 Vite。
  // 如果设置为 'auto' 那么 devServerUrl 将从 Vite 输出中推断出来

只能等待项目的后续了.

项目的登录

由于项目涉及到登录,按照惯例我使用了 session 会话管理,但在 Mac 下发现不太支持,最终我只能放弃了 session 并使用了 localStorage 进行存储,以解决登录问题。

在官方仓库中搜索了一番,发现有其他开发者也遇到了类似的问题,于是我也将方案切换至 localStorage。如果有大佬解决了这个问题,请分享一下经验。

项目的数据存储

刚开始设计项目的时候是准备离线使用的, 所以选了个 sqllite 数据库, 但是在开发的过程中涉及到 数据库存储的路径问题, 于是搞了个 install 的界面, 用来在程序安装的时候配置数据存储路径.最后发现这玩意有点坑,由于权限问题,配置的路径会出现权限问题.于是乎, 看好多的应用 默认直接在 /tmp 下搞.于是也写死,在 /tmp下来做

目前开发遇到这些问题,后续更新有问题再做记录

以上就是Go Wails的使用示例探索的详细内容,更多关于Go Wails探索的资料请关注脚本之家其它相关文章!

相关文章

  • 如何利用golang运用mysql数据库

    如何利用golang运用mysql数据库

    这篇文章主要介绍了如何利用golang运用mysql数据库,文章对依赖包、db对象注入ApiRouter等内容,需要的小伙伴可以参考一下
    2022-03-03
  • go 压缩解压zip文件源码示例

    go 压缩解压zip文件源码示例

    这篇文章主要为大家介绍了go压缩及解压zip文件的源码示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • golang中defer执行时机的案例分析

    golang中defer执行时机的案例分析

    这篇文章主要来通过一些案例和大家一起探讨一下golang中defer的执行时机,文中的示例代码讲解详细,对我们深入了解golang有一定的帮助,感兴趣的可以跟随小编一起学习一下
    2023-11-11
  • GO 反射对性能的影响分析

    GO 反射对性能的影响分析

    这篇文章主要为大家介绍了GO 反射对性能的影响分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • golang如何实现proxy代理简单方法

    golang如何实现proxy代理简单方法

    这篇文章主要给大家介绍了关于golang如何实现proxy代理简单方法的相关资料,Proxy是golang实现的高性能http,https,websocket,tcp,udp,socks5,ss代理服务器,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • golang validator库参数校验实用技巧干货

    golang validator库参数校验实用技巧干货

    这篇文章主要为大家介绍了validator库参数校验实用技巧干货,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • GO中使用谷歌GEMINI模型任务代码实例

    GO中使用谷歌GEMINI模型任务代码实例

    这篇文章主要为大家介绍了GO中使用谷歌GEMINI模型任务代码实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Golang泛型与反射的应用详解

    Golang泛型与反射的应用详解

    如果我想编写一个可以输出任何给定类型的切片并且不使用反射的打印功能,则可以使用新的泛型语法。文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 如何使用腾讯云go sdk 查询对象存储中最新文件

    如何使用腾讯云go sdk 查询对象存储中最新文件

    这篇文章主要介绍了使用腾讯云go sdk 查询对象存储中最新文件,这包括如何创建COS客户端,如何逐页检索对象列表,并如何对结果排序以找到最后更新的对象,我们还展示了如何优化用户体验,通过实时进度更新和检索多个文件来改进程序,需要的朋友可以参考下
    2024-03-03
  • goland最新激活办法

    goland最新激活办法

    这篇文章主要介绍了goland最新激活办法,激活方法真的超级简单,只需要把脚本内容复制到对应文件,并运行该脚本就可以了,需要的朋友可以参考下
    2021-12-12

最新评论