使用Vue 3 + TypeScript + Tauri实现一个即插即用的轻量级可执行程序

在学校由于数据结构这门课的难理解性,我就想能不能实现一个演示动画放入优盘 不记得了或者忘了随时点击exe就可以查看。查阅了一些资料最后选择了Vue 3 + TypeScript + Tauri的架构,最后走出来整个数据结构核心动画才8731kb

项目采用了如下技术栈:

  • 前端框架:Vue 3 + Composition API
    用响应式数据驱动动画,逻辑清晰,状态可控。

  • 开发语言:TypeScript
    强类型约束让算法实现更严谨,也更适合教学示例。

  • 桌面封装:Tauri
    核心选择。相比 Electron,Tauri 基于 Rust + 系统原生 WebView,体积小、启动快,生成的 .exe 非常轻量。

  • 图结构渲染:vis-network
    适合处理树、图等复杂关系结构。

  • UI 组件库:Element Plus
    保证整体界面简洁、易用,降低教学操作成本。

算法与动画彻底分离

传统写法中,排序或遍历算法往往直接操作 DOM 或样式,导致逻辑和视图强耦合,代码既难读也难维护。

在 项目中,整体思路是:

  • 算法只负责计算

  • 动画只负责播放

  • 两者通过“动画帧”进行通信

简单来说,流程是这样的:

算法函数(纯逻辑) → 生成动画帧序列 → 播放器逐帧渲染 → UI 展示

image

 

 Tauri

简单讲解一下这个:

Electron打包出来的程序太大,它会把 整个 Chrome 浏览器整个 Node.js 环境 都塞进你的 .exe 里。

Tauri 的后端是用 Rust 写的。Rust 不需要打包一个虚拟机(Runtime)。它会直接调用你电脑系统自带的浏览器内核(Windows 上是 Edge WebView2 【window11,12都可】)。

image

image

 

 最后的效果看起来很不错,响应速度很快, 内存很小,对于小型项目这个方案还是很不错的。

目前需要做一个课题《前端跨平台方案实现VCT客户端》,VCT是VIGI 配置工具,为解决客户购买大批量的VIGI设备,单个初始化太繁琐的问题而诞生。VIGI 配置工具部署在桌面客户端,目前仅支持Windows操作系统,为用户提供全面的设备管理、广泛的批量配置选项和可重复使用的模板,简化了安装人员的系统设置并减少了时间和成本。 目前VCT的系统架构是前端使用QT作为容器,提供桌面软件的系统级功能,与基于Vue3的前端网页进行通信;后端使用Java技术栈。目前VCT仅支持Windows操作系统,考虑到对Mac、Linux操作系统的跨平台可复用性,催生了该课题《前端跨平台方案实现VCT客户端》。后端需要实现发现设备和管理设备的功能,发现设备通过广播udp实现,管理设备需要实现添加设备和设备的增删改查。已知流程是这样的,软件启动时开始搜寻局域网内的IPC、NVR、太阳能设备,并解析这些设备的型号、IP、端口号、MAC地址等信息,勾选设备并输入用户名和密码后,校验通过即可添加到设备列表。关于设备的增删改查,可以手动按照IP地址、端口号、用户名和密码来添加设备,可以多选删除设备,可以在上方输入框中根据设备的名称、MAC地址或IP进行查找,可以给设备重新分配IP地址。 现在要把qt容器更换为前端跨平台桌面软件框架, 诸如electron tauri flutter rn等,已知现在的团队全部都是js开发人员,所以学习rust成本太高,那tauri能否支持使用node来写后端呢?可以参考https://v2.tauri.app/zh-cn/learn/sidecar-nodejs/给出回答。目前综合考虑团队比较倾向于使用electron,但是又会面临内存占用和安装包过大的问题,请你对比这些前端跨平台桌面软件框架的优缺点,并说出技术选型的理由
09-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值