2022年12月18日,微信推出了“Donut”开发平台,目前已经开始限时免费公测。这款跨端开发平台与Flutter、React Native、Taro等跨端框架最大的不同是:跨端的能力是基于小程序原生语法进行转译。这背后不得不让人联想到此次开发平台的推出,是在微信小程序生态日渐成熟基础上的一个“顺水推舟”。
过去几年,市场上的跨端开发框架一直在迭代,今天就让我们盘点一下以小程序语法进行转译的跨端平台,以及他们各自的优缺点。
首先简要介绍一下,市场上一些主流的,并不以小程序语法编译为核心的跨端框架,包括:
Flutter:由Google开发的一个开源平台,可用于跨平台应用程序开发。它具有吸引力的原因是:快速的开发,富有表现力的精美UI和类似本机的性能。
React Native:由Facebook在2015年开发的,可帮助企业使用Swift,Objective C和Java等语言构建类似于本机的应用程序。
weex:由阿里巴巴在 2016年推出的跨平台移动开发工具,Weex 致力于使开发者能基于当代先进的 Web 开发技术,使用同一套代码来构建 Android、iOS 和 Web 应用。具体来讲,在集成了 Weex SDK 之后,你可以使用 JavaScript 和流行的前端框架(如 Vue.js 和 Rax)来开发移动应用。
划重点部分:以小程序语法编译为核心的跨端框架有:
阿里mPaaS
mPaaS是支付宝旗下的移动开发平台,其官网上介绍是”为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定“。
mPaaS以支付宝小程序语法为基础,也兼容基于Taro/mpvue等第三方框架导出的支付宝小程序。阿里旗下产品一定是优先支持自有生态,但这可能也是其在开放市场竞争中较薄弱的一个环节。市场上,小程序的生态建设,微信小程序生态还是占据了绝对的优势。mPaas对支付宝小程序应用100%支持,但其他小程序并不一定做到很好的兼容。
mPaas对于小程序的核心管理能力提供的是版本管理和灰度发布的能力,并未提供小程序的上下架审核及历史版本管理,这可能是一个减分项。
另外,产品还提供了一些如:小程序数据分析,广告引擎,App 性能监控,消息推送等功能,这对于业务拓展来说,算是个加分项。
微信Donut
正如篇头的介绍,Donut是微信平台推出的一款,对于微信小程序语法编写的应用转译成多端应用的开发平台。该平台的语法兼容首要是微信小程序,内测版本暂不支持微信生态中相关能力。体验版本只能测试到部分功能,一些文档上说的身份管理、安全网关与统计分析能力暂不支持公测,属于邀请测试的范畴,期待后续一些开发大大的持续分享。
该开发平台刚刚推出市场,还有很多不完善的地方,本篇中暂不做展开。
FinClip
这个产品正式推出市场是在2019年,3年打磨时间还是比较成熟的。看了下他们的官网,以及搜索引擎的一些资料,不乏一些大型客户的采购及成功案例。
小程序语法兼容方面是兼容微信小程序语法,编译后的小程序同时可在微信与 FinClip小程序SDK环境中运行。
第三方框架的支持度方面,其支持 Flutter/Taro/kbnoe 等第三方框架导出的微信小程序,并提供兼容。
以上的两点是小程序容器层面的兼容,可以看得出他们家的产品是尽可能以开放及兼容的态度支持市场上的前端框架开发的小程序应用,现在技术进程中,不开放也许会意味着在未来的市场使用份额中彻底输在起跑线上。
简单测试了下小程序管理后台,拥有较完善的小程序在线管理能力(例如:小程序开发、上传、测试、上下架及版本查看等)。一些第三方的能力也逐步开放当中(如:微信授权登录、音视频能力、微信支付能力、高德地图等)。此外,FinClip似乎不止步于移动开发的跨端,看到他们官网上的一些介绍,是除了支持 iOS、Android,桌面系统(Windows、Mac、Linux、统信、麒麟等)也能支持小程序运行,也就意味着这款产品是更广范围的跨端。
以上6款跨端开发平台,你用过了几款?其实从我个人的实践来看,并非功能大而全的产品就是最好的,如果你只是开发一款小而美的产品,需要快速的上线业务并进行商业变现,那么一些轻量的、聚焦业务支持的技术能力是首选开发平台。如果你或者你的团队是服务于大型企业,那么跨端开发平台就需要服务于企业业务战略规划,需要考虑使用的框架能够在性能上较优,同时还具备生态引入,或者更大范围的跨端开发的可能。
一切的技术开发平台都需要服务于业务,以实际的业务规划出发,对于技术开发平台进行选型及启用。