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

前端与后端的交互

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

总结

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

相关推荐
ltl4 分钟前
Transformer 原论文实验结果:为什么 28.4 BLEU 足以改写路线图
后端
excel40 分钟前
为什么我推荐使用 Termius:现代 SSH 工具的完整体验
前端·后端
卷毛的技术笔记1 小时前
Java后端硬核实战:用Spring AI Alibaba+Redis给LLM装上“超强记忆中枢”
java·人工智能·redis·后端·spring·ai·系统架构
IT_陈寒2 小时前
Java的Optional差点让我掉坑里,这几个坑你别踩
前端·人工智能·后端
子兮曰3 小时前
Harness 驾驭工程深度教程:从 AGENTS.md 到全链路 AI 编码基础设施
前端·后端·ai编程
小杍随笔3 小时前
【Rust 工具链管理工具再升级!rust-verse v1.3.1 ~ v1.3.5 最新更新深度解析】
开发语言·后端·rust
百珏3 小时前
海量人群包存储优化:基于 RoaringBitmap 交换格式与 Redis 分片 Bitmap 的实践
java·后端·架构
叫我少年4 小时前
C# 类型系统
后端
五月君_5 小时前
Rust 重写 AI 味太浓,Bun 被 yt-dlp 封版本、Electrobun 直接解绑
开发语言·后端·rust
叫我少年5 小时前
C# 预处理器指令 — 条件编译、文件应用指令与警告控制
后端