最近使用了flutter_rust_bridge,流程上非常好,极大程度简化了操作。
使用方法如下
提供Rust API
为了方便管理和测试,对Flutter暴露的接口单独提供,放在api.rs中。里面提供的都是pub fn,出入参数如果内含其他结构体,加上Option,比如
pub fn query_report(query: ReportQuery) -ReportPageDTO {
APP.lock().unwrap().query_report(query)
}
pub struct ReportPageDTO {
pub total: i32,
pub list: Option<Vec<ReportDTO,
}
准备生成工具
先安装工具和依赖
dart pub global activate ffigen
cargo install flutter_rust_bridge_codegen
另外还需要LLVM,具体安装看操作系统有一些区别。
最后运行脚本
flutter_rust_bridge_codegen …