小程序跨平台开发解决方案探索

2019-07-31 11:52:50 +08:00
 yangxiaofu

原文地址: https://ant-move.github.io/website/blog/2019/07/30/miniprogram-development.html

继微信正式推出微信小程序后,各个大厂陆续发布了各自的小程序平台 —— 支付宝小程序、百度小程序、头条小程序,跨小程序平台开发也成为了众多小程序开发者要面临的问题。

Antmove - 小程序跨平台解决方案

小程序开发血泪史

小程序发展初期

随着微信小程序的发展,微信小程序以基本不存在上述的问题,而其它新兴的小程序厂商则还在此阶段,对于小程序开发者来说,如果要接入微信小程序之外的平台,以上的问题是技术方案评估环境必须要衡量的问题。

小程序发展中期

在这个阶段,小程序开发者追求的是开发体验,在 web 框架蓬勃发展,开发工具生态飞速完善的环境下,槽糕的小程序开发体验是用户不能忍受的,这个阶段也出现了许多的小程序框架极力的解决这个问题,如 wepy、mpvue、taro 等。

小程序发展成熟期

到今年以来,除微信小程序平台外,其它厂商小程序平台也得到了极大的推动发展,这时小程序跨平台能力就显得尤为重要,同时与之相对的包体积控制小程序性能也成为关注点,这也是目前众多企业和开发者面临的问题。

小程序跨平台开发解决方案探索

小程序跨平台开发,简单来说就是通过一套解决方案实现开发一次,上线到多个小程序平台。

解决方案

为满足多小程序平台的需求,简单来说可以有以下的解决方案:

对于第三种方案来说,目前社区中比较热门的小程序跨平台开发解决方案有 mpvue、taro、uni-app 等。这些框架不同程度的解决了小程序跨平台开发的问题,但他们都存在一个饱受诟病的问题,那就是框架之痛。在前端开发的发展过程中,从前端框架出现到百花争鸣,到现在的三足鼎立( Angular、React、Vue )时代,开发者依然会因如下的 问题而头疼:

作为小程序的开发者,依然会面临这样的问题,而且会更加严重,小程序本身就是一个框架(而且小程序框架发展很快,功能也在不断完善,开发体验也越来越好),在小程序之上又包一层框架,整个开发流程多了一环,无疑会增加项目的风险。而且小程序框架本身还在不断的发展,以微信小程序为例,新特性、能力、规范不段的更新,框架如何短时间的更新适配就成为一个难题。而依赖框架之后,开发者与原生小程序隔离开来,不得不依赖框架方提供解决方案。

除了框架能力的支持适配,引入框架还会使得项目本身变得臃肿、缓慢、约束。

解决方案之 Antmove

在高德小程序开发团队(阿里系小程序的一员 [支付宝小程序、淘宝应用、钉钉应用、天猫精灵等] )的工作中,我们遇到了许多想将微信小程序应用上线到阿里系小程序平台的客户,而重新开发一个新平台的小程序对他们来说又比较耗成本,为了解决这个问题,蚂蚁搬家工具应运而生,我们的出发点很简单,希望能够通过技术手段将一个微信小程序应用上线到阿里系小程序平台上。

随着这个过程的进行,我们发现用户除了有对阿里系平台的需求外,还有对其它小程序平台支持的需求,所以又有了其它厂商小程序平台的支持。

多小程序平台支持

目前百度智能小程序、头条小程序的支持还在内测,即将可以体验。

从最初的客户服务案例到现在的 antmove 开源项目,我们整个团队考虑过很多,作为一个非 KPI 项目,我们会持续的将它做好,希望能帮助更多的小程序开发者解决他们遇到的问题。

Antmove 不是一个框架,而是一个转换工具,比如将微信小程序项目转换为支付宝小程序项目,它更多的还是希望开发者能使用原生的小程序语法去开发小程序,更小、更快、更简洁。

到目前为止,Antmove 工具已经帮助了众多的内部用户和外部小程序开发者实现小程序的转换迁徙,现在也希望它能够帮助你解决跨平台开发的难题。

参考链接

3764 次点击
所在节点    程序员
19 条回复
hadesh
2019-07-31 12:01:43 +08:00
看看去~
sunxiaobo
2019-07-31 14:55:45 +08:00
这个工具是用支付宝小程序的 DSL 和 API 开发其它多端小程序么?
想法很新颖啊,不知道用起来怎样
zx8812766
2019-07-31 15:20:56 +08:00
API 差异能[抹平]( https://ant-move.github.io/website/docs/wx-and-alipay-code.html),那 模板、样式差异咋处理?

总感觉后期会变成微信小程序项目里,夹杂着其它小程序平台的代码逻辑。
yangxiaofu
2019-07-31 16:05:32 +08:00
@zx8812766 模版和样式代码编译时转换,无需担心混杂的问题
draguo
2019-07-31 18:03:09 +08:00
所以是阿里系的?不是 kpi 的?
v2hub
2019-07-31 18:15:33 +08:00
问题是不同平台的差异化功能还是有很多的,那么就有几个问题不明白了:
1.为了兼容其他平台需要在微信小程序中写很多差异化代码,那么微信小程序的代码体积不是就变大了?
2.和 uniapp 这种框架相比,性能能快多少呢?
yangxiaofu
2019-07-31 19:58:54 +08:00
@v2hub 微信小程序代码体积不会增大,对于有差异化代码需求的,可以通过工具输出干净的微信原生代码(去除差异化代码)
和框架相比性能能快多少没有详细的比较,但因为搬家工具只是做了平台的搬迁工具,转换后的项目性能接近原生,只有很少量的消耗
yangxiaofu
2019-07-31 20:00:19 +08:00
@draguo 文章中已经说明,这并不是 KPI 背书的项目,也希望更多的社区开发者能参与进来
dovme
2019-07-31 20:16:31 +08:00
厉害,收藏了
zhuzhibin
2019-07-31 20:34:35 +08:00
意思是使用原生小程序语法编写代码 然后统一转换适配不同的平台的小程序机制?
ntop
2019-07-31 21:11:18 +08:00
能完成 80% 我觉得就够了,剩下 20% 自己搞。但是不知道现在支付宝 /百度 /抖音小程序火不火,我周围好像没多少人提这事,有没有懂行的人给点数据?
yangxiaofu
2019-07-31 21:19:27 +08:00
@zhuzhibin 是的,基于原生小程序语法开发,转换得到不同平台原生小程序代码,从而实现跨平台的目的
yangxiaofu
2019-07-31 21:19:51 +08:00
@ntop 阿里系的推广的挺多的
ntop
2019-07-31 21:23:36 +08:00
@yangxiaofu 商家多嘛?我是做社区小程序的 SaaS 服务的,如果需求多的话我可以把我们平台的社区小程序也转成其它平台的这样可以服务更多客户,哈哈哈
coolair
2019-07-31 21:33:42 +08:00
现在没有一个好用的跨平台方案。
sunxiaobo
2019-08-01 15:00:09 +08:00
@ntop 支付宝、百度 应该不少,这两大平台现在各种活动帮助入驻小程序引流
和微信抢生态市场
sunxiaobo
2019-08-02 10:24:35 +08:00
@coolair 可能因为小程序平台自身 API、框架能力等都还不稳定
xiqishow
2022-02-14 18:33:58 +08:00
我前一阵注册了这个 https://jiefang.tw.cn/
xiqishow
2022-02-14 18:34:24 +08:00
@xiqishow 擦 发错帖子了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/587820

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX