原来一个小程序使用Wepy开发,但是上线后,小程序会越来越卡。
2.0版本又遥遥无期,而且,1.0切换2.0需要调整的代码也可能会很多。
索性就直接换回wx原始框架编码。
下面内容,是作者将小程序框架换完后,测试上线后的经验总结,给需要的朋友参考参考。
1. 原来使用async/await 方式编程,需要有相对应的支持,可以不需要修改逻辑;
2. 原有使用async/await方式封装wx下的异步方法,需要有对应的支持,这个可以自己实现,也可以找工具类;
3. 原有使用wepy的地方需要换成wx,但是在使用wepy异步方法时,需要使用特殊方法处理,参考第二点;
4. 原有页面使用类继承方式,需要换成App/Page方式,该步骤使用代码拷贝;
5. 原有事件绑定,wepy支持事件中,直接绑定参数,需要改成wx支持dataset方式,事件处理中,需要相应的修改;
6. 原有列表循环repeat方式,需要改成wx:for方式;
7. 原有request方式,可以使用拦截器,需要自己重新封装wx.request实现拦截器功能;
8. 原有组件方式,改动比较大,原来的组件与页面可以进行双向事件响应,wx不支持,只能组件版定方式,处理单向事件;
9. 原有使用apply方式修改数据,需要使用setData方式,这样的话就会对原来的封装造成比较大的影响,需要合理调整;
10. 切换框架后,可以使用这个库wxPromise,解决async/await 已经wx方法Promise化;
越来越卡 体现在哪,怀疑哪里出了问题?
切换为原始后就改善很多吗?
期待你的分享
开发测试,自己这边是没有什么体会,主要是在用户反馈来的。
改版给用户使用后,反馈是挺好的,目前还在收集用户反馈。
我们小程序叫“妈妈话题”可以试试现在线上版本,目前正式版还是wepy框架的。
问题主要出现在wepy框架的组件设计上,造成page的data出现大量数据,而wepy上$apply性能有比较大的问题,会出现频繁进行脏数据检查,导致卡顿。
是宝宝巴士妈妈话题么?
感觉还好不是很卡,
挺好奇的是你是怎么转会wx开发的,手动修改么?
现在项目也是用的wepy,也是比较担心,$apply()的性能问题
参考我上面的9,10这两点。
嗯,收到
本来还想抽个时间看一下wepy的,但是我懒,没有看。所以一直都是用原始组件写的
我就是用的wepy,还挺好用的啊,就是有时数据渲染差了点
目前数据渲染上,感受最深的是,接口数据已经获取到了,但是页面渲染还需要等候几百毫秒甚至一两秒以上时间才能展示在页面上。
没错,就是这个有延迟,估计是数据异步加载导致的,所以我一般都加了个加载框