文档章节

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

杨小小小
 杨小小小
发布于 08/15 21:13
字数 1594
阅读 193
收藏 0

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

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

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

小程序开发血泪史

小程序发展初期

  • 框架不稳定
  • 更新频繁
  • bug 众多

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

小程序发展中期

  • 开发体验提升
  • 组件式开发需求
  • 与 web 开发技术生态的融合

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

小程序发展成熟期

  • 多平台支持需求
  • 包体积
  • 性能

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

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

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

解决方案

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

  • 各平台单独开发
    • 人力成本高
  • 开发某一个平台小程序,通过技术实现到其它平台的转换
    • 技术实现成本高,小团队难以支撑
  • 使用支持跨平台的小程序框架开发,依赖于框架的跨平台能力,实现跨平台
    • 引入框架成本

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

  • 是否应该在项目中引入框架?
  • 应该选择什么样的框架,更好?更适合?
  • 在性能面前,应该选择框架还是采用原生开发?
  • 团队开发技术栈统一之争?
  • 老项目维护问题,技术升级之痛?
  • 该框架的未来发展是怎样的?

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

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

解决方案之 Antmove

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

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

多小程序平台支持

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

antmove

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

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

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

参考链接

© 著作权归作者所有

杨小小小
粉丝 0
博文 1
码字总数 1594
作品 0
杭州
私信 提问
NetCore WebAPI开发探索

一、创建项目 新建api项目: 建好之后,一个默认的控制器已经有了: 运行就可以直接访问get接口获取数据: 二、跨平台部署 部署方面,微软已经完善的很好了,基本上算是傻瓜式操作。项目右键...

饺子快跑
06/18
0
0
MDCC 2016中国移动开发者大会

由CSDN、创新工场联合主办的MDCC2016移动开发者大会(MobileDeveloperConferenceChina),将于2016年9月23日-24日在北京·国家会议中心举办。大会以移动领域热点技术+典型应用案例实战为主的...

活动家
2016/08/24
4
0
JavaScript(React Native、Node.js等)移动、服务端通吃的全栈语言

作者:李宁老师 东北大学计算机专业硕士。曾任沈阳东软股份项目经理。51CTO学院签约讲师。从事软件研究和开发超过20年。长久以来一直从事Java、Android、iOS、C++、Swift、Objective-C以及跨...

androidguy
2018/06/29
0
0
移动跨平台方案对比:WEEX、React Native、Flutter和PWA

本文主要对WEEX、React Native、Flutter和PWA几大热门跨平台方案进行简单的介绍和对比。内容选自《WEEX跨平台开发实战》 (WEEX项目负责人力荐,从入门到实战,教你玩转移动前端跨平台开发!...

xiangzhihong
08/30
0
0
走进百度:百度App移动端技术深耕与创新探索

随着5G和人工智能时代的加速到来,大前端开发、AI、安全成为了移动应用开发者关注的热门话题。百度作为移动互联网时代的领跑者,拥有7亿用户的百度App给用户带来稳定、高效、便捷的搜索和服务...

软件绿色联盟
06/13
5
0

没有更多内容

加载失败,请刷新页面

加载更多

精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
8分钟前
3
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
20分钟前
1
0
jenkins 插件下载加速最终方案

推荐做法 1、告诉jenkins 我哪些插件需要更新 jenkins插件清华大学镜像地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 1.进入jenkins系统管理 2.进入插件管...

vasks
26分钟前
3
0
composer爆错:zlib_decode():data error

解决办法:先用 composer diagnose 命令检测 然后 composer self-update 更新composer版本 最后执行 composer update 或者 composer install composer 切换阿里云镜像 用起来还快 composer c...

koothon
33分钟前
3
0
shangcheng-my

1.数据库主键、外键类型为bigint,那么在后台应该用什么类型的变量定义? 后台用string接收,因为前段传过来的一般都是json字符串,后台直接接收,mysql是可以吧数字类型的字符串转换为对应的...

榴莲黑芝麻糊
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部