当我掏出rust+v8+tauri 请问阁下应当如何应对

我一直想做一款轻量级的exlce解析客户端,首先它必须要足够轻量级,性能要强悍。针对excel解析其实有很多选择,我最终还是选择了rust作为基础,因为首先它足够安全效率,页面当然是我一直熟悉的angular作为前段页面,而框架我选择了tauri因为它足够轻量,并且api也足够我使用。

我的目的很明确,能帮我解决以下问题,由于我在维护一款系统,经常有插入数据或修改数据的场景,业务老师会整理excel给我,我的做法之前使用groovy解析excel加工之后生成对应的sql文件,但是维护起来比较麻烦,毕竟我还是喜欢客户端,最好像vscode一样好用。

开原地址 github.com/jasonSuiyt/...

下载地址 github.com/jasonSuiyt/...

支持 windows macos linux 其中对macos支持最好 因为我只有macos开发的 😄 打包交给了github(爱了竟然免费使用)

是不是很像vscode支持dark和light两种主题,会根据系统主题切换

扩展V8函数如下、对于我目前的需求够用 不够用的也可以用js进行扩展

javascript 复制代码
    fs.read_xls();//默认读取选择的xlsx文件
    fs.read_xls(path);//读取对应地址的xlsx文件
    fs.crete(sqlFile);//创建文件
    fs.append(sqlFile, str);//向对应文件追加文本
    uuid();//uuid
    snowid();//雪花算法id

技术栈简介

  1. Rust:一种高性能、内存安全的系统级编程语言,特别适用于需要高效、低资源消耗的应用。
  2. Tauri:一个开源框架,允许开发者使用前端技术(HTML、CSS、JavaScript)构建安全的、原生的、跨平台的桌面应用。
  3. Angular:一个流行的JavaScript框架,用于构建单页应用(SPA),提供结构化的开发体验和丰富的组件库。
  4. V8:Google开发的开源JavaScript引擎,以其高性能和即时编译(JIT)能力而著称,是Chrome浏览器和Node.js等项目的核心组件。
  5. *tailwindcss # 只需书写 HTML 代码,无需书写 CSS,即可快速构建美观的网站。

应用架构

在这个应用中,Rust将主要用于处理底层、性能敏感的Excel解析任务。由于Rust具有直接访问系统资源和无垃圾回收的特性,它非常适合处理这类任务。

Tauri将作为应用的外壳,负责提供原生的桌面应用体验。它将打包Angular构建的前端代码,并通过V8引擎运行这些代码。Tauri还负责处理系统级的交互,如文件选择对话框、通知等。

Angular将作为前端框架,提供用户界面和交互逻辑。开发者可以使用Angular的组件化架构和丰富的开发工具来快速构建用户界面。

V8引擎将嵌入在Tauri中,用于执行Angular生成的JavaScript代码。V8的高效执行和JIT编译能力将确保应用的流畅运行。

Excel解析

对于Excel解析,Rust生态系统中有多个库可供选择,如calamine或excel。这些库提供了读取和解析Excel文件(包括.xlsx和.xls格式)的功能。开发者可以在Rust中编写一个服务或库来处理Excel文件的解析,并通过Tauri的API将解析结果传递给前端。

前端与后端的交互

在Tauri应用中,前端(Angular)与后端(Rust)之间的交互通常通过Tauri提供的API进行。例如,当用户选择一个Excel文件进行解析时,Angular前端可以调用Tauri的API来打开文件选择对话框,并获取用户选择的文件路径。然后,前端可以将文件路径传递给Rust后端进行解析。解析完成后,Rust后端可以将结果通过Tauri的API返回给前端显示。

总结

Rust、Tauri、Angular和V8的组合为我提供了一个强大而灵活的解决方案,可以快速构建出高效、安全、用户友好的桌面应用。

相关推荐
梦影_3 分钟前
MySQL进阶教程(五)—— SQL调优(下)
android·大数据·数据库·后端·sql·mysql·database
考虑考虑4 分钟前
mariadb数据库
数据库·后端·mariadb
明月_清风27 分钟前
用自然语言操控真机:Google Artemis 移动端 AI Agent 上手与实践
人工智能·后端
怪我冷i28 分钟前
Rust 的impl语法详解
开发语言·后端·rust
我就是全世界1 小时前
OpenCode Go 套餐划算吗:先看你用哪个模型
开发语言·后端·golang
乌暮2 小时前
请求进门先安检:Spring 拦截器与统一功能实战指南
java·开发语言·后端·学习·spring
学长毕设2 小时前
基于SpringBoot的烘焙商品商品系统-附源码
java·spring boot·后端
付威20233 小时前
Durable Execution 怎样设计:从运行记录到中断恢复
后端
LHICOD4 小时前
Linux-2
java·linux·后端·jar·vmware·svm·vm
小杨互联网4 小时前
Go 现代 CLI 工具离线镜像合集
开发语言·后端·golang·开源·go·命令行