Android(Kotlin) ↔ Flutter(Dart) 的“1:1 对应表”:架构分层来对照(MVVM/MVI 都适用)

Android(Kotlin) ↔ Flutter(Dart) 的"1:1 对应表",按你熟悉的架构分层来对照(MVVM/MVI 都适用)。

Android ↔ Flutter 对应表

架构位置 Android 常用方案 Flutter 对应方案 一句话理解
网络客户端 Retrofit Dio 都是 HTTP Client 封装
底层网络引擎 OkHttp Dio 内部实现 / http 包 "真正发请求"的那层
拦截器 OkHttp Interceptor / Retrofit CallAdapter Dio Interceptor 请求/响应/错误统一入口(401 刷新 token 就在这)
JSON 解析 Moshi / Gson / Kotlinx Serialization json_serializable / freezed / manual map DTO ↔ Model 转换
DTO(网络实体) data class XxxDto class XxxDto + fromJson/toJson 网络返回结构
Repository Repository Repository "数据真相"统一出口(同名同职责)
本地数据库 Room Drift(SQLite) ORM + 类型安全查询
DAO @Dao 接口 Drift DAO(@DriftAccessor) 查询/插入/更新
Entity(表结构) @Entity Drift Table(extends Table) 数据库存储结构
数据流监听 Flow / LiveData Stream(watch) DB 变更自动推给 UI
协程/异步 suspend + coroutines async/await + Future 都是异步语法糖
并发组合 async/await + awaitAll Future.wait / Future.any 并行请求合并
错误包装 Result / sealed class Either/Result(自定义) 统一错误模型
本地缓存 DataStore / SharedPrefs SharedPreferences / Hive / 内存 Map 小数据/配置
图片缓存 Coil / Glide cached_network_image 头像/图片缓存
线程切换 Dispatchers.IO/Main event loop + plugin/isolate Dart 表面单线程,IO 由底层处理
ViewModel AndroidX ViewModel Riverpod Notifier / Bloc / ChangeNotifier 状态容器
UI 订阅 collectAsState/LiveData observe Consumer/BlocBuilder/StreamBuilder "订阅状态刷新 UI"
单元测试 JUnit + MockK test + mocktail/mockito 测试工具链
网络 Mock MockWebServer dio_http_mock_adapter / 自建 fake api 模拟接口

现在这套(最像 Android 的写法)

  • Retrofit + OkHttp Interceptor → Dio + Interceptor

  • Room + Flow → Drift + watch(Stream)

  • Repository 负责缓存策略 → Repository 仍然负责

  • 401 自动刷新 token → Interceptor + 共享 Future/队列

相关推荐
忆江南9 小时前
iOS 深度解析
flutter·ios
明君8799710 小时前
Flutter 实现 AI 聊天页面 —— 记一次 Markdown 数学公式显示的踩坑之旅
前端·flutter
恋猫de小郭11 小时前
移动端开发稳了?AI 目前还无法取代客户端开发,小红书的论文告诉你数据
前端·flutter·ai编程
MakeZero13 小时前
Flutter那些事-交互式组件
flutter
shankss13 小时前
pull_to_refresh_simple
flutter
shankss13 小时前
Flutter 下拉刷新库新特性:智能预加载 (enableSmartPreload) 详解
flutter
阿巴斯甜16 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker16 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952717 小时前
Andorid Google 登录接入文档
android
黄林晴19 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack