使用 kotlin语言开发,项目使用 模 块化开发,降 低 了 耦合性 - 网络
使用 retrofit2 + okhttp3方式 ,进行了 高度 的 封 装 使用 leakcanary内 存 泄漏检测基 于MVI架 构(airbnb的 Mavericks)开发使用 本地 mock模 拟服务端采 用 ARouter路 由 管理 集成 Flutter模 块,填 写 订单页由flutter编写, module_flutter可 单独运行集成 RN热更功 能 ,rn工程 请见
-
同 款Flutter版本 ( https://github.com/GuoguoDad/jd_mall_flutter.git )
- Model:
与 其他MVVM中 的 Model不同 的 是 ,MVI的 Model主要 指 UI状 态(State)。当 前 界面 展示 的 内容 无非就是UI状 态的一 个快照 :例 如数据 加 载过程 、控 件 位置 等 都 是 一 种UI状 态 - View:
与 其他MVX中 的 View一致 ,可能 是 一 个Activity、Fragment或 者 任意 UI承 载单元 。MVI中 的 View通 过订阅Intent的 变化实现界面 刷新 (不 是 Activity的 Intent、后 面 介 绍) - Intent: 此Intent
不 是 Activity的 Intent,用 户的任 何 操作 都 被 包装 成 Intent后 发送给Model进行数 据 请求
- 这种
方式 会 将 Flutter 库打包 成 由 AAR和 POM artifacts 组成的 本地 Maven存 储库。这种方案 可 以不需要 安 装 Flutter SDK即 可 编译宿主 应用。
- 该方
式 可 以使你的 Android 项目和 Flutter 项目能 够同步 一 键式构建。当 你需要 同 时在这两个项目 中 进行快速 迭代时,这种方案 非常 方便 。必须安 装 Flutter SDK才能 构建宿主 应用程 序 。
热更
热更
1,
2,
3,React Native App 发起
4,React Native 发起 CDN 资源请求
资源请求
库 | |
---|---|
retrofit2 | 网络 |
okHttp3 | 网络 |
mavericks | MVI |
BaseRecyclerViewAdapterHelper | |
PhotoView | 图片预览 |
ARouter | 组件 |
coil | 图片 |
XPopup | 弹窗组件 |
banner | 滚动图 |
SmartRefreshLayout | |
gson | json |
leakcanary |