微信开放小程序SDK,几款SDK产品对比分析

news2024/11/24 0:06:32

前言

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

其实不止微信,面对广阔的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 集成,不支持其他端。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kafka学习笔记

1. 官网 ​​​​​​​​​​​​​​​​​​​​​​​​​Apache Kafka 2. akf X轴拆分: 水平复制,就是讲单体系统多运行几个实例,做集群加负载均衡的模式,主主、主备、主从。解决单点,高可用问题 Y轴拆分: 基于不同的业务拆分 Z轴拆…

年底了,千万不要跳槽。

最近不少人在私信问我:做了几年 Java 工程师,现在很迷茫,想跳槽但是感觉底气不足,不知道如何是好。 作为一个资历不浅的 Java 开发,这几年我面试过不少人。发现大多数面试者,虽然看起来工作努力&#xff0…

FPGA 点亮LED灯

设计流程 首先对项目要有一个全局的考虑,分析项目需要几个模块构成,确定各个子模块的关系和信号之间 的相互关系,然后确定模块的端口信号有哪些;根据每个模块的功能并结合芯片、接口的时序手册画 出该模块能正常工作的时序波形图…

CSS3【垂直对齐方式、光标类型、 边框圆角 、overflow溢出部分显示效果 、元素本身隐藏】

文章目录二、装饰2.1 认识基线(了解)2.2 文字对齐问题2.3 垂直对齐方式2.4 小结2.5(拓展)项目中 vertical-align 可以解决的问题2.6 光标类型2.7 边框圆角2.8 边框圆角的常见应用2.9 小结2.10 溢出部分显示效果2.11 小结2.12 元素…

智慧医院信息化建设解决方案

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。 【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除! 完整资料领取见文末,部分资料内容: 远程会诊 云…

Java的设计模式

本文档是学习后的个人总结,用于备查,如果有冒犯,请联系我删除。 参考文档: 1、简单工厂模式,工厂方法模式,抽象工厂模式 2、Java中常用的设计模式 上面这个链接写的特别清楚,也有代码示例&#…

记一次云服务器EIP出现异常对外攻击的问题

大家好,我是早九晚十二,目前是做运维相关的工作。写博客是为了积累,希望大家一起进步! 我的主页:早九晚十二 首先祝大家圣诞快乐,Merry Christma! 中毒了 今天云主机运维人员告诉我说&#x…

【Flask框架】——26 ORM关联关系

1、表的外键关联 使用SQLAlchemy创建外键非常简单。在从表中增加一个字段,指定这个字段外键的是哪个表的哪个字段就可以了。从表中外键的字段,必须和主表的主键字段类型保持一致。 这种关联只关注数据表之间的外键关联,不考虑Python对象之间…

ORB-SLAM3代码和算法学习—双目和单目初始化

0总述 ORB-SLAM3算法中视觉的初始化依旧放在tracking线程中,因此在tracking中没有为imu模式设置单独的初始化函数,而IMU的初始化是在localMapping中实现的。 很有用的参考链接:https://cloud.tencent.com/developer/article/1761043 1双目…

【高阶数据结构】搜索二叉树

🌈欢迎来到数据结构专栏~~搜索二叉树 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句…

Word控件Spire.Doc 【评论】教程(2):在 C#、VB.NET 中删除和替换 Word 文档中的注释

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

130页5万字某市档案馆数字档案馆建设方案

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除! 完整资料领取见文末,部分资料内容: 国家档案局证…

MySQL主从搭建

MySQL主从搭建一 主从配置原理二 搭建步骤(基于两个docker容器)三 django实现读写分离3.1 配置数据库3.2 models中创建表3.3 数据库迁移3.4 指定要使用的数据库四 Pycharm远程连接服务器进行代码的运行与调试五 Pycharm远程链接docker开发5.1 操作 docke…

SSM图书管理系统(增强版,附源码)

前篇引入(新人必看):SSM图书管理系统(原版) 之前给大家分享过SSM图书管理系统项目的源码,热度较高,但我也发现功能并不是很全面,所以这次对系统进行了功能增强,以下是系…

新手入门搭建一个spring boot项目

1. 打开Idea,新建一个maven项目,详细情况见下图,(idea版本2021.1.2) 2.查看新建项目的maven包是否存在, 注意:maven包需要自己去下载,注意要下载与版本对应匹配的包 3.导入spring boot 相关的依…

springboot 连接不上 redis 的三种解决方案!

针对于springboot 连接不上 redis 这种情况,首先,我们最简单直接的方法就是需要确认Redis是否已经正常启动(验证方法:如果安装在Linux下的话可以使用ps-ef|grep redis来进行确认是否开启) 如果未开启,我们可…

STL-string的接口使用及模拟实现

文章目录string类的介绍string类的常用接口介绍 构造相关 无参构造字符串构造拷贝构造 容量相关的接口 sizereserveresizecapacityemptyclear 数据访问及遍历相关的接口 operator[]begin endrbegin rend 修改数据相关的接口 push_backoperatorinserterasec_strfind npossubs…

Redis搭建主从集群

搭建集群 建集群的第一件事情我们需要一些运行在 集群模式的Redis实例。这意味这集群并不是由一些普通的Redis实例组成的,集群模式需要通过配置启用,开启集群模式后的Redis实例便可以使用集群特有的命令和特性了。 下面是一个最少选项的集群的配置文件…

@Builder注解在子类中使用遇到的问题

场景 在项目开发中,需要基于某个类进行一些字段的拓展,那么自然而然想到的做法是extends该类。而两个类都需要使用Builder进行构造。代码如下: Data Builder AllArgsConstructor NoArgsConstructor public class EmployeeDto {private Stri…

详解 Vue3 中如何使用 Proxy 来实现响应式的技术~

详解 Vue3 中如何使用 Proxy 来实现响应式的技术~写在前面剖析 Vue2 中是如何实现响应式的Vue2 的响应式存在什么问题?Vue3 响应式一、ref 函数二、reactive 函数reactive 响应式原理 - ProxyVue3 中的响应式解决了 Vue2 中存在的问题写在前面 Vue3 中的响应式原理…