小程序的本地开发与主流开发框架(如wepy、mpvue、uni-app和taro)之间的深入比较
小程序开发
浏览:547 次

上周,Taro团队发布了一份《Applets多端框架综合评估》,让开发者初步了解了业界主流的跨端框架。感谢Taro团队。
然而,改进横向评估需要大量时间。它不仅需要查看文档,还需要:
你真的为多个平台编写测试演示,比较每个平台的功能和性能,看看它们的实际情况是否如文档中所宣传的那样?
真正学习每个框架,了解他们的学习曲线,并在实际开发中遇到问题时感受他们的文档、教程、社区生态和技术服务能力?
我们的uni app团队已经投入了一周时间来完成这项深入评估。让我们分享在实际开发不同框架的测试用例时遇到的问题以及最终的测试结果。
评价实验简介
开发内容:开发一个模仿微博小程序主页的复杂长列表,并支持下拉刷新、上拉翻页等。
界面如下:
形象
开发版本:共开发了6个版本,包括微信原生版、wepy版、mpvue版、taro版、uni app版和变色龙版(按这些产品发布时间排序,下同)。根据官方网站指南,它们默认通过cli模式安装(应为最新稳定版本)。
开源测试代码(),
小贴士:如果任何学生认为测试代码编写不正确,请提交PR或
测试型号:红米Redmi 6 Pro、MIUI 10.2.2.0稳定版(最新版本)、微信7.0.3版(最新版)
测试环境:在每个框架开始测试之前,杀死所有App进程并清除内存,以确保测试机环境基本一致;每次本地读取静态数据以屏蔽网络差异。
测试尺寸:
跨端支持怎么样?
性能如何?
学习阈值
工具和周围生态
1.交叉端支撑怎么样
开发一次并在任何地方运行是每个程序员的梦想。然而,现实往往是,发展是一次,调整是错误的。
要评估的框架是否真的像宣传的那样一次性开发并在多个端发布?
我们依次向每个平台发布上述内容,以验证每个框架在每一端的兼容性。结果如下:
站台
微信原生
纬纱
mpvue公司

芋头
uniApp
避役
微信小程序
⭕ ️
⭕ ️
⭕ ️
⭕ ️
⭕ ️
⭕ ️
支付宝小程序
❌
❌
⭕ ️
⭕ ️
⭕ ️
❌
百度小程序
❌
❌
⭕ ️
⭕ ️
⭕ ️
❌
标题小程序
❌
❌

⭕ ️
⭕ ️
⭕ ️
❌
H5端
❌
❌
❌
上拉负载/下拉刷新失败
⭕ ️
上拉负载/下拉刷新失败
App端
❌
❌
❌
上拉加载失败
⭕ ️
无法滚动列表,无法测试上拉加载/下拉刷新
测试结果说明:
⭕ 这表明它支持并正常工作,❌ 表示不支持,其他表示支持,但存在一些错误或兼容性问题
Wepy 2.0声称它支持其他家庭小程序。在本次测试中,在wepy官网指导下安装的wepy cli的默认版本为1.7.3,不支持多个终端
变色龙的试用版声称支付宝和百度小程序。根据变色龙官方网站的指导安装的变色龙工具的默认版本为0.1.1,不支持其他小程序
从这个简单的例子可以看出,跨端支持的评估结论:uni app>taro>变色龙>mpvue>Wepy,原生微信小程序
然而,上述测试并不全面,实际业务比这个测试用例复杂得多。然而,我们无法开发许多复杂的业务进行评估,因此我们需要参考各种文件补充一些信息。
每个框架的文档中都描述了对各种组件和API的跨端支持。我们浏览了几家公司的文档,发现他们基本上以微信小程序为基线,然后在其他端实现各种组件和API:
塔罗:H5已经实现了大部分微信API,App和微信之间有很大的区别。
Uni-app:组件、API和配置已在所有端实现,个别API已被描述为在某些端不受支持。可以看到,uni app在H5端完全实现了一套微信模拟器,在app端实现了一组微信小程序引擎,从而实现了相对完整的平台兼容性。

变色龙:一些常用的组件和API已经在eac实现