在本文中FinClip的产品经理和我们将会深入地探讨 FinClip 与 mPaaS 之间的差异,彼此间的长处与弱点。mPaaS 是蚂蚁金服出品的移动应用开发平台,功能很丰富,但为移动应用提供小程序支持还有其他更好的选择。
作为 FinClip 背后的产品设计者,我的观点可能并不中立(我会尽可能保持客观)。您可以访问 https://www.finclip.com/ 来了解我们的产品与功能,以此印证文中观点。
1. 设计区分
mPaaS 是一款源自蚂蚁(支付宝)的移动开发与运营平台
mPaaS 官网
mPaaS (全称为 mobile Platform as a Service),是一款为 App 开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定高质量的移动应用。
mPaaS 通过集成阿里云中的各项服务,如统一消息推送服务,移动数据分析,应用安全加固等,向开发者提供更加全面的移动研发中台,也便于对已有 App 进行重构。
mPaaS 小程序是支付宝小程序瘦身后的产物
mPaaS 小程序,源自于支付宝小程序框架,继承了支付宝小程序框架的易开发性、跨平台性以及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支付宝、淘宝、钉钉等应用。
简单来说,mPaaS 小程序就是在支付宝小程序的基础上做了瘦身、去依赖的小程序 SDK。开发者可以做到一套小程序代码,在支付宝和自己的 App 上双端投放和运行,甚至可以构建出自己的小程序生态体系。
基于 mPaaS 小程序,开发者就能够快速优化发布包大小,节省流量和存储。同时,服务迭代不再受发版限制,快速发布,快速迭代。甚至,基于统一的开发标准,小程序仅需开发一次,便可快速投放至多端。
借助阿里官方的支付宝小程序 IDE 工具,开发者也可以在其中完成对于小程序的设计与开发预览工作。在阿里业务下的多种场景与流量入口都可以上线对应的小程序。
FinClip 不想掌控移动开发的所有流程,只专注小程序这一件事
与 mPaaS 提供了大而全的移动开发中台不同,FinClip 自始至终所关注的核心问题一直都是「为企业与开发者提供良好的小程序体验,任何人都可以轻易地让自有 App 具备运行小程序的能力」,我们之所以认为小程序才能够打造数字化 App,本质原因主要有以下几点:
- 相比于原生应用开发,小程序具备的开发成本更低;
- 研发成本投入一致的情况下,小程序获得的用户体验更好;
- 小程序具备热更新、热部署的能力。
如果想找出能够兼顾动态性、体验、开发效率、开放性的最佳选择,那么答案一定是非小程序莫属。
接下来让我们将视角转换到小程序层面,来看看 FinClip 与 mPaaS 的区别:
mPaaS 小程序与 FinClip 小程序对比
在小程序层面,mPaaS 暂时无法为开发者提供更加完善的产品功能,而 FinClip 则为用户提供了小程序上更加丰富的产品功能体验,不论是 iOS 应用,Android 应用,Flutter 应用,RN 应用,甚至是 Windows 应用程序都可以集成 FinClip SDK,并在其中运行不论是微信小程序,亦或是基于第三方框架设计的小程序。
此外,在小程序学习成本,小程序上下架与灰度发布的生命周期管理,集成小程序 SDK 后 App 的体积变化,小程序渲染架构模式上,FinClip 都有着明显的优势与特色。
我们同时支持开放小程序管理平台中的 API,您可以根据实际需要,通过 openAPI 将小程序全生命周期管理的能力与已有的内部研发系统进行融入结合,实现更进一步的小程序管理效果。
2. 实际使用
和上文一样,我们也通过尝试通过 mPaaS 来编译运行同一套小程序 DEMO,看看有哪些区别。由于 mPaaS 与 uniapp 进行了合作,因此我们则分别对 IDE 中提供的「小程序示例模板」,「多端开发模板(uni-app)」,「多端开发模板(remax)」,以「微信小程序 JavaScript 基础模板」分别进行测试。
mPaaS 小程序示例模板
首先我们选取了 mPaaS 中提供的小程序示例 DEMO,编译后再通过微信 IDE 与 FinClip IDE 对小程序代码资源进行编译,由下图结果可知该小程序仅限在 mPaaS 环境中编译运行,无法运行在微信与 FinClip 环境中。
所选中的小程序官方示例 DEMO 无法运行在微信 IDE 与 FinClip IDE 中编译运行
多端开发模板(remax)
随后我们选取了 mPaaS 中提供的多端开发模板(remax),编译后再通过 IDE 自带的调试工具调起微信 IDE 进行编译,由于 remax 支持跨端小程序输出,因此最终的小程序资源可以在微信 IDE 与 FinClip IDE 中完成运行。
在使用 remax 模板前,开发者需要确保当前系统中已经安装了 node 服务,并在 mPaaS IDE 左侧的依赖管理中安装所有 remax 模板需要的依赖服务,才能使用多端开发模板。
remax 模板可以编译出能够在微信 IDE 与 FinClip IDE 中运行的小程序
多端开发模板(uni-app)
随后我们选取了 mPaaS 中提供的多端开发模板(uni-app),编译后再通过 IDE 自带的调试工具调起微信 IDE 进行编译,由于 uni-app 支持跨端小程序输出,因此最终的小程序资源也可以在微信 IDE 与 FinClip IDE 中完成运行。
在使用 uni-app 模板前,开发者需要确保当前系统中已经安装了 node 服务,并在 mPaaS IDE 左侧的依赖管理中安装所有 uni-app 模板所需要的依赖服务,才能使用多端开发模板。
uni-app 模板可以编译出能够在微信 IDE 与 FinClip IDE 中运行的小程序
微信小程序 JavaScript 基础模板
接下来,再让我们试试运行一个原生微信小程序,来看看是否能够在 FIDE 或 uni-app 中运行。
微信原生小程序可以在 FinClip 中编译运行,但无法在 mPaaS 的 IDE 中编译运行
测试的结论与我们在文章《FinClip 与 uniapp:轻应用平台与前端开发框架》得出的概念基本一致:uni-app 只能对原生采用 uni-app 语法开发的小程序进行二次编译,无法对微信原生 wxml 语法的小程序进行编译。
小结
换句话说,除非小程序本身就基于 uni-app 进行设计,否则依然无法通过 mPaaS 将小程序迁移在基于 mPaaS 设计的移动应用之中。如果你想在已有的 App 中集成小程序,mPaaS 也无法兼容已有的微信小程序。
经过 mPaaS 编译的小程序,可以调试输出为微信格式的小程序,还能够在 FinClip IDE 中完成编译与预览,这也再一次说明了 FinClip 对微信小程序语法的支持优势所在。
3. 定价与收费模式
mPaaS — 按使用流量收费为主
mPaaS 中集成了众多阿里云中的功能(如统一推送服务,移动应用安全加固等),所以需要对所有功能进行解耦并提供免费使用额度,一方面尽可能降低对用户已经采购的第三方服务侵袭,另一方面也给用户提供使用体验的契机。
mPaaS 的定价页面还解释了小程序的收费模式「容器作为动态化的技术方案,使用不作收费。改造后的 HTML5 离线包及小程序包,调用 mPaaS 发布服务实现实时发布更新,涉及“发布服务更新接口调用次数”及“下载流量费”」,也就是说,只要小程序被发布至用户端,或用户打开获取小程序,就需要消耗对应的接口调用次数。
以「消息推送服务」为例,「极光推送」免费版账户提供每天 200万次推送额度,「百度慧推」免费版提供每秒 30万条的推送额度,「腾讯信鸽」根据应用月活制定了更灵活但不限推送条数的定价策略,mPaaS 目前仅提供每月 1 万条免费推送额(稍微有一点高)。
FinClip — 按使用数量收费为主
相比 mPaaS,FinClip 的主要收费方式是免费使用小程序 SDK,辅以通过各功能的数量(如小程序数量,关联应用数量,并发数量,灰度发布数量等)进行收费。同时也提供了社区版供开发者进行免费使用,便于开发者或小微企业在自有环境中免费使用 FinClip 进行 App 数字化转型尝试。
对于大型企业与客户,也会根据具体需要的定制或实施任务,提供更加合理周到的收费策略。
4. 根本区别是什么
在上文中,我们初步对比了两个产品的差别。各位读者朋友应该会感觉到,两个产品有着一定的区别。
mPaaS
mPaaS 作为一款移动应用开发平台,更关注移动应用研发的效能提升,通过客户端开发框架,移动发布服务,移动网关服务,研发协同平台,DevOps 等多个子模块的能力为用户提供移动应用研发的一站式解决方案。对于第三方服务的汇聚与打通,再加上按量、按需付费的定价体系,也能够降低开发者的前期投入。
如果开发者希望为已有的移动应用找寻一个全新且已经验证过的研发模式,我想 mPaaS 一定是不二之选。
但如果只是先从降低开发成本,优化用户体验,为应用增加热更新能力的角度考虑,通过小程序来完成移动应用转型可能是更低门槛的选择。 mPaaS 所提供的小程序能力受限于产品定位,只能借助第三方服务实现,无法提供对微信 wxml 小程序的丰富支持。
FinClip
FinClip 在立项之初就不曾想(也无法)解决移动研发过程中的所有问题。我们认为市面上已经有充分且足够的第三方技术服务与架构可以解决移动应用开发过程中的大多疑难杂症,开发者也可以根据自己的实际业务场景与需要,灵活地选择所需要的服务。
所以我们也将全部的产研精力放在关注“让自己 App 中的小程序跑得和微信小程序一样顺滑”这个问题上。支持不同平台中的小程序 SDK ,对齐微信小程序 API 与组件特性,保持高稳定性与安全性也成为了日常产研工作的重中之重。
目前 FinClip 已经提供了基于 iOS 、Android 、Flutter、RN、Windows 与 Linux 平台的小程序容器 SDK,此外 FinClip SDK 也已经于 2021 年 10 月通过了中国信通院的 SDK 专项评测并获得认证证书。
结合实际的小程序分发流量占比情况,开发者在各大厂商设计的独有小程序语法之中,也需要优先支持微信的 wxml 小程序语法(如下图所示)。
5. 总结
移动开发的终局一定是走向更开放、更快速、更稳定。
mPaaS 确实通过蚂蚁集团内的业务实践积累了足够的业务经验,并将这一部分经验进行抽象与解耦,试图为开发者提供一个贴近实际业务场景与发展,清晰合理的移动应用架构实践。我相信这也是开发者选择并信任 mPaaS 的原因之一。
FinClip 则更加关注小程序本身,不仅提供了跨客户端,跨系统的小程序运行沙箱,便于客户在自有 App 中运行已有的小程序,还有着完善的开发者中心,帮助开发者对于小程序的全生命周期进行管理与控制。
我们有着更明确的目标:通过小程序降低企业数字化转型过程的阻碍。
随着业务发展,已有 Web 应用与 H5 应用将不得不面临需要提升用户体验与业务性能的问题,在转向通过小程序提供服务的过程中,通过 FinClip 提供的小程序解决方案,不仅能够解决企业当下所面临的“小程序迁移”问题,还能够借助对小程序全生命周期进行管理的能力,帮助企业内部信息系统进行关联,再加上自动化、定制化支持的相关工具与资源,才能够更可靠,可信地帮助企业完成数字化转型这一过程。
我们也有着更感性的认知:相信一线产研人员的原始创造力。
在没有小程序甚至更久远的年代,产研人员就能通过自身对于技术的追求,在研发工作中表现出令人赞叹的创造力,也正是这些为了完成工作、将工作做得精彩的原动力,才出现了那些更加新颖又具备生产力的框架与工具。
相信并采用大厂的成熟技术方案与建议固然是选择之一,但资源的天然倾斜与产研成本的天然不对等始终让我们慎之又慎。而这也是促使我们开发 FinClip 的核心原因,我们与你同样都是具有经验的一线开发者,我们更加在乎你所遇到的问题,也想让小程序更直接全面地解决你遇到的所有问题。
我们希望通过小程序容器这一技术,能帮助更多开发者打造出性能优越、体验良好的App。