V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
treexie
V2EX  ›  程序员

基于 tauri 打造的 HTTP API 客户端工具-CyberAPI

  •  
  •   treexie · 2023-09-21 22:33:37 +08:00 · 1079 次点击
    这是一个创建于 411 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CyberAPI 项目基本也一年多的时间了,该项目差不多 300 次的 commit ,主要集中在最开始的 6 个月,以及中间对其重构的阶段。在上一年国庆长假和朋友聚会的时候,和朋友谈起最近这段时间捣鼓tauri,写了一个 HTTP API 客户端工具。『你写了这么多东西,其实有想过是为了啥不?』为了啥这是一个很大的命题,当初每个项目的时候都想过它应该解决些啥,最终每个项目好像完成了它的使命,也好像还在征途之上。不是每个人的追求都是诗和远方、星辰大海,而我只是闲着也是闲着,所以做了点啥,不是为了啥。

    选择使用tauri并不是因为它的优缺点(如果想了解的大家可以直接去官网上查看),只是因为我自己想学习一下 rust(由于非工作需要,业余学习使用 rust ,因此代码可能写得不太好),在了解过一些 rust 比较热门的项目之后,刚好也想学习一下桌面应用开发,因此CyberAPI也在此巧合之下开始创建。

    CyberAPI 大概在 2022 年 6 月中的时候开始,由于一开始 rust 完全不会,开发过程一堆的坑坑洼洼,个中辛酸不说,这年头谁没遇到点苦难,但是无言以对的是,我觉得自己现在还是对 rust 没有上手,只会简单的开发。开发 CyberAPI 的过程中主要遇到以下几个问题:

    • 基于系统自带的 webview ,可能存在兼容性问题(开发时遇到 macos 接口图标切换后有残留,而 windows 无此问题,切换为 png 图片解决)
    • javascript 与 rust 调用如果大数据交互(10MB),处理时长在 3 秒左右(tauri 已知 issue ,官方在下一版本优化)
    • javascript 与 rust 调用可能会导致内存泄漏(issue#4026),官方暂时未给出具体原因,可通过其它方式解决
    • 最开始选择所有的数据均保存至浏览器 IndexedDB ,存储的数据较多导入导出较慢,因此切换至使用 rust 版本的 sqlite ,性能极速提升
    • 支持 Dark/Light 主题,部分组件未自适应调整
    • 多语言支持未实现实时变化,通过设置后重启应用解决

    上面的问题其实都只是小问题,虽然系统托盘以及自动升级当前版本并未使用上,tauri 对我而言已经可以满足桌面应用开发,精通 WEB 前端的开发者完全可以直接基于浏览器实现绝大部分的功能,有边缘项目的可以考虑尝尝鲜,但是其各类的插件还是较少,如果项目更多的依赖于系统接口,则建议对 rust 有较深功底再入坑。

    下面介绍一下 CyberAPI 的主要特性:

    • HTTP API 工具的基本配置已具备,如参数配置、Cookie 设置等等
    • 支持 macos 、windows 以及 linux 平台,安装包均在 10MB 以下
    • 单个项目上千个接口秒级打开,内存占用较低(虽然有内存泄漏,一星期不关闭也不太影响)
    • 支持 Dark/Light 主题以及多语言切换
    • 简单易用的操作及配置方式
    • 可快速导入 postman 与 insomnia 或者 swagger 配置
    • 关键字筛选支持字符匹配、中文拼音或者拼音首字母
    • 可按接口、功能、项目导出配置,方便团队内共用
    • 各类自定义的函数,方便各请求间上下文关联数据

    cyberapi

    CyberAPI 已满足平时开发使用需要,在我日常开发中已替换 postman ,性能上的体验个人感觉挺不错,不过由于只是个人的业余项目,如果有优化建议只能尽可能支持,如果是 BUG 则会及时修复的。如果大家使用得开心的,那小手一点给个 Star ,如果用得不开心那更要 Star ,以后哪天心情不爽就过来怼一下,对不对。

    项目在 github 上开源,开源协议为 Apache License 2.0 ,可以放心使用,地址为:https://github.com/vicanso/cyberapi

    wjx0912
        1
    wjx0912  
       238 天前
    无意中发现,不错的工具,支持下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1492 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:52 · PVG 07:52 · LAX 15:52 · JFK 18:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.