微信开放小程序运行SDK,我们的App可以跑小程序了

15,579 阅读6分钟

前言

这几天看到微信团队推出了一个名为 Donut 的小程序原生语法开发移动应用框架,通俗的讲就是将微信小程序的能力开放给其他的企业,第三方的 App 也能像微信一样运行小程序了。

1.79f2646f.png

img-melody-202212062310615.png

其实不止微信,面对潜力越来越大的 B 端市场,阿里早期就开放了这样产品——mPaas,只不过阿里没有做太多的宣传推广,再加上并没有兼容市面中占比和使用范围最大的微信小程序,所以一直处于不温不火的状态。

今天就主要对比分析下目前市面上这类产品的技术特点及优劣。

有这些产品

目前这类产品有一个统一的技术名称:小程序容器技术

小程序容器顾名思义,是一个承载小程序的运行环境,可主动干预并进行功能扩展,达到丰富能力、优化性能、提升体验的目的。

目前我已知的技术产品包括:mPaas、FinClip、uniSDK 以及上周微信团队才推出的 Donut。下面我们就一一初略讲下各自的特点。

他们的特点

1、mPaas

mPaaS 是源于支付宝 App 的移动开发平台,为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动 App。

mPaaS 提供了包括 App 开发、H5 开发、小程序开发的能力,只要按照其文档可以开发 App,而且可以在其开发的 App 上跑 H5、也可跑基于支付宝小程序标准开发的的小程序。

由于行业巨头之间互不对眼,目前 mPaas 仅支持阿里生态的小程序,不能直接兼容例如微信、百度、字节等其他生态平台的小程序。

2、FinClip

FinClip 是一款小程序容器,不论是移动 App,还是电脑、电视、车载主机等设备,在集成 FinClip SDK 之后,都能快速获得运行小程序的能力。

提供小程序 SDK 和小程序管理后台,开发者可以将已有的小程序迁移部署在自有 App 中,从而获得足够灵活的小程序开发与管理体验。

FinClip 兼容微信小程序语法,提供全套的的小程序开发管理套件,开发者不需要学习新的语法和框架,使用 FinClip IDE、小程序管理后台、小程序开发文档、FinClip App就能低成本高质量地完成从开发测试,到预览部署的全部工作。

3、Donut

Donut 多端框架是支持使用小程序原生语法开发移动应用的框架,开发者可以一次编码,分别编译为小程序和 Android 以及 iOS 应用,实现多端开发。

基于该框架,开发者可以将小程序构建成可独立运行的移动应用,也可以将小程序构建成运行于原生应用中的业务模块。该框架还支持条件编译,开发者可灵活按需构建多端应用模块,可更好地满足企业在不同业务场景下搭建移动应用的需求。

4、uniSDK

Uni-app 小程序 SDK,是为原生 App 打造的可运行基于 uni-app 开发的小程序前端项目的框架,从而帮助原生 App 快速获取小程序的能力。uni 小程序 SDK 是原生SDK,提供 Android 版本 和 iOS 版本,需要在原生工程中集成,然后即可运行用uni-app框架开发的小程序前端项目。

Unisdk是 uni-app 小程序生态中的一部分,开发者 App 集成了该 SDK 之后,就可以在自有 App 上面跑起来利用 uni-app 开发的小程序。

优劣势对比

1、各自的优势

mPaas

  • 大而全,App开发、H5开发、小程序开发一应俱全;
  • 技术产品来源于支付宝,背靠蚂蚁金服有大厂背书;
  • 兼容阿里系的小程序,例如支付宝、钉钉、高德、淘宝等;
  • 拥有小程序管理端、云端服务。

FinClip

  • 小而巧,只专注小程序集成,集成SDK后体积增加3M左右,提供小程序全生命周期的管理 ;
  • 提供小程序转 App 服务,能够一定程度解决 App 开发难的问题;
  • 几个产品中唯一支持企业私有化部署的,可进行定制化开发,满足定制化需求;
  • 兼容微信小程序,之前开发者已拥有的微信小程序,可无缝迁移至 FinClip;
  • 多端支持:iOS、Android、Windows、macOS、Linux,国产信创、车载操作系统。

Donut

  • 微信的亲儿子,对微信小程序兼容度有其他厂商无可比拟的优势(但也不是100%兼容微信小程序);
  • 提供小程序转 App 服务,能够一定程度解决 App 开发难的问题;
  • 体验分析支持自动接入功能,无需修改代码即可对应用中的所有元素进行埋点;
  • 提供丰富的登录方法:微信登录、苹果登录、验证码登录等。

uniSDK

  • 开源社区,众人拾柴火焰高;
  • uniapp 开发小程序可迁移至微信、支付宝、百度等平台之上,如果采用 uni 小程序 SDK,之后采用 uni-app 开发小程序,那么就可以实现一次开发,多端上架;
  • 免费不要钱。

2、各自的不足

mPaas

  • 小程序管理略简单,没有小程序全生命周期的管理;
  • App 集成其 SDK 之后,体积会扩大 30M 左右;
  • 不兼容微信小程序,之前微信开发的小程序,需要用支付宝小程序的标准进行重写才可迁移到 mPaaS 上;
  • 目前只支持 iOS 与 Android 集成,不支持其他端。

FinClip

  • 没有对应的移动应用开发平台,只专注于做小程序;
  • 生态能力相较于其他三者相对偏弱,但兼容微信语法可一定程度补齐;
  • 暂不支持 Serveless 服务;
  • 产品快速迭代,既有惊喜,也有未知。

Donut

  • 对小程序的数量、并发数、宽带上限等有比较严格的规定;
  • 目前仅处于 beta 阶段,使用过程有一定 bug 感;
  • 集成后体积增加明显,核心 SDK 500 MB,地图 300 MB;
  • 没有小程序全生命周期的管理;
  • 目前仅支持 iOS 与 Android 集成,不支持其他端。

uniSDK

  • 开源社区,质量由开源者背书,在集成、开发过程当中出现问题,bug解决周期长;
  • uni 小程序 SDK 仅支持使用 uni-app 开发的小程序,不支持纯 wxml 微信小程序运行;
  • 目前 uni 小程序 SDK 仅支持在原生 App 中集成使用,暂不支持 HBuilderX 打包生成的 App 中集成;
  • 目前只支持 iOS 与 Android 集成,不支持其他端。

以上就是关于几个小程序容器的测评分析结果,可以看出并没有完美的选择,每个产品都有自己的一些优势和不足,选择适合自己的就是最好的。希望能给需要的同学一定的参考,如果你有更好的选择欢迎交流讨论。