前言
想要让自己的APP也想微信一样具有装载小程序的功能, 可以借助FinClip
,Uniapp
或者mPaaS
来实现
今天我们来对比一下三者各自的优势
Uniapp
一款优秀的前端框架, 实现了一套代码多端运行, 不仅支持移动端和小程序, 还能给APP实现小程序能力
其优势:
- 一套代码 多端运行 (Web端 移动端 小程序)
- 小程序支持厂商众多(微信小程序, 抖音小程序, 百度小程序…….)
- 赋予App小程序能力
- 以前端跨平台为核心
- 提供各种增值服务 比如广告联盟,插件市场,云打包增值服务方便开发者快速变现
- 框架使用完全免费
官网: 点击进入
FinClip
一个小程序容器, 可以将这个容器集成到原生APP
或者桌面程序甚至uniapp
应用中, 让应用实现小程序能力, Flutter+FinClip
容器的结合弥补了Flutter
不支持小程序的缺陷, 实现真正意义上的一次开发 到处运行, 对于开发者而言只需维护一套小程序代码即可
FinClip
工作原理如图:
其优势:
- 一套代码 全平台运行 (宿主为
Flutter
的情况下 可实现Web端 移动端 PC端 小程序四端跨平台) - 赋予App小程序能力
- 以小程序为核心 反向生成各个平台应用 方便企业快速升级
- 可兼容基于 Taro,kbone 或 uni-app 框架生成的全部小程序
- 按流量和就看调用收费
官网: 点击进入
Github: 点击进入
mPaaS
mPaaS
小程序容器,源自于支付宝小程序框架,继承了支付宝小程序框架的易开发性、跨平台性以及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支付宝、淘宝、钉钉等应用。
- 一套代码 多端运行 (Web端 移动端 小程序)
- 市场验证 容器稳定可靠
- 按使用流量和接口调用次数收费
- 小程序只能投放至阿里系平台宿主中比如付宝、淘宝、钉钉等, 无法给微信使用
官网: 点击进入
三者对比
uniMPSDK | mPaaS | FinClip SDK | |
---|---|---|---|
SDK支持小程序开发框架 | 仅支持使用uni-app开发框架开发的小程序 | 仅支持基于支付宝小程序语法开发的小程序 | 支持微信小程序,也支持基于Taro、kbone、uniapp等三方框架生成的小程序 |
SDK支持集成的系统类型 | 仅提供iOS、Android两种类型的SDK | 仅支持iOS、Android两种平台 | 提供iOS、Android、Flutter、.ReactNative、Windows等多种SDK |
集成SDK后,App体积增大多少 | 集成后,App体积可能会增大7~16M左右 | 集成后,ApP体积可能会增大30M左右 | 集成后,App体积可能会增大3M左右 |
是否有小程序全生命周期管理平台 | 没有小程序的全生命周期管理平台 | 仅提供部分,如灰度发布与统计分析 | 拥有完善的管理平台,便于管理小程开发、测试、上下架等流程 |
渲染技术架构 | 采用了webview渲染或者原生渲染(React Native/,weex) | 采用了webview渲染或者原生渲染(React Native/,weex) | 采用与微信小程序一致的逻辑层与渲染层分离架构 |
我们换个角度进行分析补充:
FinClip | uniapp | mPaaS | |
---|---|---|---|
容器的吸收包容能力 | 更倾向于吸收和包容, 它能兼容运行外部平台开发的小程序, 比如uniapp , 微信小程序等 当然支付宝小程序也可兼容 使用转换工具转换成微信小程序代码后即可 |
只能运行自身开发的小程序 | 只能运行自身开发的小程序 |
小程序分发能力 | 分发功能比较薄弱, 也就是由它开发的小程序只能运行在微信和自身容器 | 比较擅长分发 支持的小程序平台众多 | 局限于阿里系APP和自身容器上 |
容器可运行的宿主平台 | iOS、Android、Flutter、.ReactNative、Windows, uniapp | 仅支持iOS、Android两种平台 | 仅支持iOS、Android两种平台 |
容器的运行性能 | 在性能上FinClip 要更胜一筹 |
总结|
FinClip
更倾向于吸收和包容, 它能兼容运行外部平台开发的小程序, 比如uniapp
, 微信小程序等 当然支付宝小程序也可兼容 使用转换工具转换成微信小程序代码后即可
但是FinClip
分发功能比较薄弱, 也就是由它开发的小程序只能运行在微信和自身容器上, 这一点uniapp
比较擅长
mPaaS
只能运行支付宝系的小程序, 另外分发也局限于阿里系APP
因此 我们可以取长补短, 开发小程序我们使用uniapp
, 运行小程序使用FinClip
, 完美😝
具体开发方案思考🤔:
- 我们用
uniapp
进行跨平台应用开发时, 不用官方提供的uniMPSDK
, 而是选择FinClip
来实现应用的小程序能力,Webview
基础上套一层小程序容器, 性能不知如何 - 我们用
uniapp
进行小程序开发, 然后使用Flutter
宿主+FinClip
容器运行小程序, 最后实现全平台分发(PC端 移动端 Web端 各大平台小程序), 🐂🍺
参考资料:
《FinClip 与 uniapp:轻应用平台与前端开发框架》
本文为作者原创转载时请注明出处 谢谢