# flutter_uni_app **Repository Path**: Qiujunjie/flutter_uni_app ## Basic Information - **Project Name**: flutter_uni_app - **Description**: Flutter 和 UniAPP 小程序的组合, 让Flutter项目 组合出热更新能力,让项目业务更加解耦 开发更容易维护 - **Primary Language**: Dart - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/Qiujunjie/flutter_uni_app - **GVP Project**: No ## Statistics - **Stars**: 16 - **Forks**: 9 - **Created**: 2022-08-19 - **Last Updated**: 2025-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flutter_uni_app #### 背景 ##### 随着Flutter 开源框架的生态越来越成熟, ##### 国内很多大厂和中小型企业开始接入Flutter 跨平台的开发模式 ##### 在目前阶段, 在众多的跨平台框架里 (H5, React Native, Flutter, 小程序等) ##### Flutter 的框架的性能体验在业界评价,包括第三方数据测评打分中, ##### Flutter 算是最优秀的 (几乎贴近原生体验), ##### 不是我说的哈,业界测评结果,详细请看这里:~~~~~~~~~ ##### 但是,Flutter 的 AOT 编译模式 ,带来优秀的体验的同时, ##### 也带来一个掣肘的问题,那就是Flutter 目前生态是不支持热更新 (只在开发阶段开放了热更新,hot reload) ##### 所以呢,随着业务增长, 热更新的需求就会日益强烈突出,为了让业务需求层面具备热更新快速上线的能力. ##### 就需要对 Flutter 应用进行能力扩充, 怎么扩充? 扩充哪种热更新方案呢? ##### 常规思路就是 : ##### 1. Flutter + RN ##### 2. Flutter + 小程序 ##### 3. Flutter + 其他类似游戏增量更新方案 ##### 本框架插件 选择的是 "Flutter + 小程序" 的 扩充方案.,为什么没有选择 RN ,或者其他方案, ##### 开发同学可以思考一下其中各个方案的优缺点以及应用场景. 后续会出一个说明详细说一下. #### **介绍** ##### 本工程本质是一个 Flutter 应用工程, 核心插件是这个: flutter_uniapp_plugin ##### flutter_uniapp_plugin 利用这个插件 桥接到 iOS 和 Android 两端, ##### 将UniMPSDK 的小程序开发能力进行打通,从而实现 ##### Flutter 应用扩充小程序的热更新热更新能力. ##### flutter_uniapp_plugin 这个插件核心功能就是实现 Flutter 端到 小程序端的 互联互通的作用 ##### ##### flutter_uniapp_plugin 插件本质是 依赖着 官方UniMPSDK进行集成开发, ##### 但是,由于官方的SDK 没做成 cocoaPods 仓库,对应Flutter 插件的开发管理极度不友好,手工管理依赖 ##### 和版本更新依赖是一个小噩梦,所以本插件 改依赖成 [DIY_UniMPSDK ](https://gitee.com/Qiujunjie/diy_uni-mpsd) #### 软件架构 **这位作者有点忙,等完善了这个仓库在补充说明和教程哈** #### 安装教程 ##### 本工程的插件 flutter_uniapp_plugin 目前只支持 手动下载 拉入工程中,进行本地依赖使用 ##### (详细请查看本工程的使用姿势,下载源码, 直接run iOS 工程即可, 模拟器和真机都支持) ##### 当然鉴于开源插件的使用方便原则,后续也会公开到pub.dev 网站上进行版本依赖安装 #### **使用说明** ​ **1. DIY_UniMPSDK '3.4.18' 版本, 根据 官方** **UniMPSDK_iOS@3.4.18** **版本相关静态库和资源文件集成** #### 软件架构说明 #### <<小程序SDK 管理的重大突破>> ** 将小程序SDK 实现成 远程自动化集成.** **1.将本地依赖的 UniMPSDK 改为 远程公共仓库 依赖管理** #### 突破意义 **1.本地工程代码和资源文件大大减轻了, 减少了 260M+的 资源空间.** **2. 将 UniMPSDK 独立开源仓库管理,本地的依赖就大大减少了** **3. UniMPSDK 的版本管理和开发维护更加解耦** **4. 最重要的就是 开源成 DIY_UniMPSDK 工具,可以给任意开发者进行快捷集成,共享使用** #### **参与贡献** **1. Fork 本仓库** **2. 新建 Feat_xxx 分支** **3. 提交代码** **4. 新建 Pull Request** #### **特技** **1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md** **2. Gitee 官方博客** **[****blog.gitee.com****](****https://blog.gitee.com****)** **3. 你可以** **[****https://gitee.com/explore****](****https://gitee.com/explore****)** **这个地址来了解 Gitee 上的优秀开源项目** **4.** **[****GVP****](****https://gitee.com/gvp****)** **全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目** **5. Gitee 官方提供的使用手册** **[****https://gitee.com/help****](****https://gitee.com/help****)** **6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目** **[****https://gitee.com/gitee-stars/****](****https://gitee.com/gitee-stars/****)**