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

相关推荐
Victor3564 小时前
MongoDB(15) 如何在MongoDB中启用身份验证?
后端
Victor3564 小时前
MongoDB(14)如何修改MongoDB的默认端口?
后端
怒放吧德德7 小时前
Spring Boot 实战:RSA+AES 接口全链路加解密(防篡改 / 防重放)
java·spring boot·后端
陈随易10 小时前
真的,你可以不用TypeScript
前端·后端·程序员
郑州光合科技余经理10 小时前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
李慕婉学姐11 小时前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
掘金酱11 小时前
「寻找年味」 沸点活动|获奖名单公示🎊
前端·人工智能·后端
颜酱11 小时前
栈的经典应用:从基础到进阶,解决LeetCode高频栈类问题
javascript·后端·算法
玹外之音12 小时前
Spring AI MCP 无状态服务器实战:构建AI智能用户管理系统
java·后端
what丶k12 小时前
Spring AI 多模态开发全解析:从入门到企业级落地
后端·spring·ai编程