当我掏出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的组合为我提供了一个强大而灵活的解决方案,可以快速构建出高效、安全、用户友好的桌面应用。

相关推荐
devlei4 小时前
从源码泄露看AI Agent未来:深度对比Claude Code原生实现与OpenClaw开源方案
android·前端·后端
努力的小郑6 小时前
Canal 不难,难的是用好:从接入到治理
后端·mysql·性能优化
Victor3567 小时前
MongoDB(87)如何使用GridFS?
后端
Victor3567 小时前
MongoDB(88)如何进行数据迁移?
后端
小红的布丁7 小时前
单线程 Redis 的高性能之道
redis·后端
GetcharZp7 小时前
Go 语言只能写后端?这款 2D 游戏引擎刷新你的认知!
后端
宁瑶琴9 小时前
COBOL语言的云计算
开发语言·后端·golang
普通网友9 小时前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
IT_陈寒10 小时前
Vue的这个响应式问题,坑了我整整两小时
前端·人工智能·后端
Soofjan11 小时前
Go 内存回收-GC 源码1-触发与阶段
后端