今天偶遇 rinf 这个类库,正如它的项目描述,「Rust as your Flutter backend, Flutter as your Rust frontend」,只不过这个类库的实现思路让人耳目一新。

rinf 通过类似 Web API 的开发方式,但它基于原生 FFI 通信实现,效率更高。文档就几页,结合官方的例子来看,很快就能上手。rinf 与 Flutter 交互的逻辑是:由 Protobuf 格式定义(Request)请求数据和响应(Response)数据类型(message),Flutter 端发出请求数据,rinf 处理请求数据并返回响应数据。如此交互过程就行客户端(Flutter)和服务端(rinf)交互。

rinf 从源头上解决了很多交互问题,同时交互过程非常简单,不知道是那个小天才实现的。下面简单总结一下 rinf 的使用方法。

  1. 安装 rinf 组件,详见官方文档安装组件 - Rinf Docs - 20231115章节
  2. 在 message 文件夹中定义数据类型
  3. 在 native 文件夹内使用 Rust 处理 Flutter 端的数据请求
  4. 在 lib 文件夹内实现界面和界面逻辑

学习的话,建议重点阅读官方文档如何写代码 - Rinf Docs - 20231115章节和官方示例 - Github - 20231115

最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏