凌鲨(linksaas)的客户端架构

凌鲨(linksaas)的客户端架构

客户端使用了tauri作为大框架来进行研发,选择理由:

  • 稳定性,tauri底层逻辑都是rust写的,只要不用unsafe,基本可以保证零崩溃,也可以保证较小的内存使用。
  • 便捷的插件体系,只要在rust函数上打上#[tauri::command]即可。如果在electron中增加插件,需要用c++,并了解v8的一些基本结构。
  • 更好的性能,参考Benchmarks | Tauri Apps

从几个月的开发体验来说,使用tauri基本没遇到什么大的坑。

我们在plugins里面主要集成了和服务端的通信协议,和外部研发体系互动部分放在了shell里面。shell以sidecar方式集成在tauri里面。

这样做的原因:

  • 保持主体程序的稳定性
  • 和外部系统交互的频次远小于对服务端的调用
  • 方便添加功能

shell目前是用rust开发的,后续可能会换成golang。

关于通信协议

我们主要使用grpc作为主要通信协议,mqtt用来做push通知使用。

使用grpc的原因:

  • 协议变更的兼容性
  • 支持流式传输
  • 多路复用
  • 支持主流的编程语言

相关代码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌鲨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值