⼩程序技术框架⽅案分析
/⽀付宝⼩程序开发主流框架对⽐
WEPY
腾讯团队开源的⼀款类vue语法规范的⼩程序框架,借鉴了Vue的语法风格和功能特性,⽀持了Vue的诸多特征,⽐如⽗⼦组件、组件之间的通信、computed属性计算、wathcer、props传值、slot槽分发,还有很多⾼级的特征⽀持:Mixin混合、等;WePY发布的第⼀个版本是2016年12⽉份,也就是⼩程序刚刚推出的时候,到⽬前为⽌,WePY已经发布了52个版本, 最新版本为1.7.2;
MpVue
美团团队开源的⼀款使⽤ Vue.js 开发⼩程序的前端框架。使⽤此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和⼩程序提供了代码复⽤的能⼒。mpvue在发布后的⼏天间获得2.7k的star,上升速度飞起,截⾄⽬前为⽌已经有13.7k的star;
Mpvue最早诞⽣的⽬的有两点:reactnative开发
1. 想⽤Vue开发⼩程序
2. 希望现有的⼤量的H5页⾯可以转化成⼩程序代码
Taro
京东凹凸实验室开源的⼀款使⽤ React.js 开发⼩程序的前端框架。它采⽤与 React ⼀致的组件化思想,组件⽣命周期与 React 保持⼀致,同时⽀持使⽤ JSX 语法,让代码具有更丰富的表现⼒,使⽤ Taro 进⾏开发可以获得和 React ⼀致的开发体验。,同时因为使⽤了react的原因所以除了能编译h5, ⼩程序外还可以编译为ReactNative;
如果是新项⽬且新项⽬需要同时⽀持⼩程序和⽀付宝⼩程序, 建议使⽤原⽣开发,因为⽬前框架的转译 ⽀付宝⼩程序⽀持并不是很好,且出了问题不好定位修改, 但如果是⼩demo不涉及太多逻辑的项⽬都可以使⽤框架作为尝鲜; 但如果是涉及太多交互逻辑的则不建议使⽤框架转译,由于⽀付宝⼩程序在视图层基本与⼩程序⼀致所以建议⼿动更改替换部分⽅法和全局替换⼀些属性或⽂件名,如wxml替换为axml这种,⼿动转换时间⽐⼤概是四⽐⼀; 当然如果⼈⼿⾜够⼀端开发⼀个是最好的...
滴滴出品。滴滴是⾮常聪明的,Mpx诞⽣较晚,所以他⾛的路线和Taro、Mpvue不太⼀样。Taro和Mpv
ue属于编译型框架,完全使⽤React和Vue的⽣态开发。但Mpx不同,他很聪明的把Mpx定位成⼩程序的语法增强框架。换句话来讲,还是以原⽣⼩程序开发为主,但你可以使⽤Vue的⼀些⾼级特性。很聪明的做法。⼀是因为Mpvue在前,Mpx⾛同样的路线没有亮点;⼆是因为想去做到完美的的Vue编译⼩程序这要付出极⾼的维护成本,还不⼀定能完美解决。
以下摘⾃Mpx⽂档:
我们使⽤Vue中优秀的语法特性增强了⼩程序,⽽不是让⽤户直接使⽤vue语法来开发⼩程序,之所以采⽤这种设计主要是基于如下考虑:转译型框架⽆法⽀持源框架的所有语法特性(如Vue模板中的动态特性或React中动态⽣成的jsx),⽤户在使⽤源框架语法进⾏开发时可能会遇到不可预期的错误,具有不确定性
⼩程序本⾝的技术规范在不断地更新进步,许多新的技术规范在转译型框架中⽆法⽀持或需要很⾼的⽀持成本,⽽对于增强型框架来说只要新的技术规范不与增强特性冲突,就能够直接⽀持很清醒的团队,⽬前其他的⼏个框架对于⼩程序新特性的⽀持根本跟不上官⽅的更新速度。
Chameleon
滴滴跨终端解决⽅案。⼀端所见即多端所见——多端⾼度⼀致,⽆需关注各端⽂档。
跨端⽬标:虽然不同各端环境千变万化,但万变不离其宗的是 MVVM 架构思想,Chameleon ⽬标是让 MVVM 跨端环境⼤统⼀。
⽀持平台:web、⼩程序、⽀付宝⼩程序、百度⼩程序、、、qq ⼩程序、、、持续更新中
跟其他以上框架出⼊不⼤,使⽤⼈数较少,⽹上相关资料也⽐较少。
相关分析⽂档:
原⽣开发
优点:
1. 社区丰富,开发⽂档全⾯,遇到问题好查资料,好解决;对官⽅API及⼀些开放组件调⽤⽐较契合。
2. 组件化、NPM、Promise、ES6、TypeScript官⽅均已⽀持。
缺点:
1. 对于⼀些之前没⽤过的朋友刚开始可能要花⼀段时间去了解它的语法和写法,框架结构和配置这些,
但个⼈认为问题不⼤,基本上都
能看得懂,只是前期开发效率快慢的问题。
2. 原⽣框架对第三⽅开发⼯具不太友好,对于⼀些熟悉之前开发⼯具的朋友可能要花⼀段时间去了解和适应,官⽅提供的开发
者⼯具。
3. 不⽀持input双向绑定,需⼿动获取值赋值,不能使⽤ less、scss 等预编译器。
uni-app
优点:
1. 熟悉vue语法的话可以快速进⾏页⾯的开发和业务逻辑的书写。
2. ⼀套代码可在多端编译运⾏
缺点:
1. 开发社区没有原⽣的完善,⼀旦有坑,想解决就必须先懂原⽣开发,甚⾄回到原⽣开发⽂档,所以原⽣开发是绕不过的,况且踩坑⼯
时量可能⼤于原⽣⽅式的学习量,所以不太推荐。
2. ⽂件代码要经过编译处理,性能体验上可能没有原⽣那么好。
个⼈总结:
如果要同时做和⽀付宝,考虑到开发效率和维护成本的话,建议使⽤uni-app,⽬前来说社区活跃度也还可以,对和⽀付宝部分未封装的特殊组件也可以直接调⽤,坑可以踩,担⼼的是,踩坑的同时不敢保证能够完全彻底的去解决⼀些疑难问题,能够快速到相关资料和解决⽅案。
如果考虑稳定性和开发的丰富性,以及⽤户体验⽅⾯的东西,可以采⽤原⽣开发,学习成本也不会太⼤,⽀付宝和相似,时刻关注官⽅组件升级的变化,例如分享到朋友圈,长按识别⼆维码这些都是近期更新的。
个⼈回想之前在⽤原⽣开发的过程中,主要有两个不太舒服的点,熟悉了vue框架⾥⾯的less/scss语法,对于这种不⽀持的纯css书写⽅式感觉优点僵硬(上⽹查过暂不⽀持,后续未知)。还有就是开发⼯具这块,没有之前使⽤IDE那么流畅和熟练,但好处是集成了在线预览编译打包上传提交这些功
能,还有云开发,感觉还是⽐较全⾯。所以不舒服的也就可以忽略了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。