国庆长假和朋友聚会的时候,和朋友谈起最近这段时间捣鼓tauri,写了一个HTTP API客户端工具 。『你写了这么多东西,其实有想过是为了啥不?』为了啥这是一个很大的命题,当初每个项目的时候都想过它应该解决些啥,最终每个项目好像完成了它的使命,也好像还在征途之上 。不是每个人的追求都是诗和远方、星辰大海,而我只是闲着也是闲着 , 所以做了点啥,不是为了啥 。
选择使用tauri
并不是因为它的优缺点(如果想了解的大家可以直接去官网上查看),只是因为我自己想学习一下rust(不要问我有没有学会,再问就没办法聊天了),在了解过一些rust比较热门的项目之后,刚好也想学习一下桌面应用开发 , 因此CyberAPI也在此巧合之下开始创建 。
CyberAPI大概在6月中的时候开始,到现在基本4个月左右,由于rust完全不会,开发过程一堆的坑坑洼洼,个中辛酸不说,这年头谁没遇到点苦难 , 但是无言以对的是,我觉得自己现在还是完全不会rust 。开发CyberAPI的过程中主要遇到以下几个问题:
- 基于系统自带的webview,可能存在兼容性问题(开发时遇到macos接口图标切换后有残留,而windows无此问题,切换为png图片解决)
- javascript与rust调用如果大数据交互(10MB),处理时长在3秒左右(tauri已知issue,官方在下一版本优化)
- 最开始选择所有的数据均保存至浏览器IndexedDB,存储的数据较多导入导出较慢,因此切换至使用rust版本的sqlite
- 支持Dark/Light主题,部分组件未自适应调整
- 多语言支持未实现实时变化,通过设置后重启应用解决
下面介绍一下CyberAPI的主要特性:
- 支持macos、windows以及linux平台,安装包均在10MB以下(rust编译强行精简)
- 单个项目上千个接口秒级打开,内存占用较低(电脑较好,mac air m2)
- 支持Dark/Light主题以及中英语言(英文翻译较差)
- 简单易用的操作及配置方式(对我而言)
- 可快速导入postman与insomnia的配置(拉新专用)
- 关键字筛选支持中文拼音或者首字母(中文必须支持)
- 可按接口、功能、项目导出配置,方便团队内共用(我只是个人使用)
- 各类自定义的函数,方便各请求间关联数据(我用的较多)
![基于tauri打造的HTTP API客户端工具-CyberAPI](http://img.zhejianglong.com/231018/12162A459-0.jpg)
文章插图
CyberAPI的缺点则是:没有缺点(自己的项目,打死都要撑着) 。不过由于只是个人的业余项目,如果有优化建议只能尽可能支持 , 如果是BUG则必须支持的(不能打脸,我也不会硬撑说不是BUG),如果大家使用得开心的,那小手一点给个Star,如果用得不开心那更要Star,以后哪天心情不爽就过来怼一下,对不对 。
项目在github上开源,开源协议为Apache License 2.0,可以放心使用,地址为:https://github.com/vicanso/cyberapi
【基于tauri打造的HTTP API客户端工具-CyberAPI】
推荐阅读
- 基于纯前端类Excel表格控件实现在线损益表应用
- 知识图谱实体对齐2:基于GNN嵌入的方法
- 15 基于SqlSugar的开发框架循序渐进介绍-- 整合代码生成工具进行前端界面的生成
- 《基于Apache Flink的流处理》读书笔记
- 挑战海量数据:基于Apache DolphinScheduler对千亿级数据应用实践
- AgileBoot - 基于SpringBoot + Vue3的前后端快速开发脚手架
- 巧用VBA实现:基于多个关键词模糊匹配Excel多行数据
- 基于Netty的TCP服务框架
- 18 基于.NetCore开发博客项目 StarBlog - 实现本地Typora文章打包上传
- 一 CPS攻击案例——基于脉冲宽度调制PWM的无人机攻击