Taro3是重运行时框架,但是带来的性能成本很大,对于这块官方的规划是啥?后面重性能的场景还是建议用Taro2,并且Taro2会持续维护吗? Taro3在性能方面是否有一些大改进的计划?
同上
同问
+1
是的,我页发现了这个问题,本来打算把框架从1升级到3,但发现的问题还是比较多。现在感觉是升到2就算了,但发现2的一些特性没有和最新版的小程序同步,如果这样继续下去可能真的要从taro转去其他框架了。
安卓用户的手机估计5年内都解决不了小程序性能上的问题
那剩下就是靠小程序官方底层实现去优化,基本5年内也是看不到
而Taro3这类能做的基本都做了,瓶颈还是在小程序本身上。
而实际上呢,普通小程序用Taro3其实影响不大,所以肯定推荐Taro3,毕竟编译时很痛苦。逻辑比较复杂或者需要更多运行内存的小程序,还是Taro2,基本只能实现自己做自己不影响其他人就不错了
+1
@xmsz taro3跟taro2比性能真的差很多,不是看那个性能评测文章,而是实际体验
@xmsz taro3跟taro2比性能真的差很多,不是看那个性能评测文章,而是实际体验
性能虽然差很多,但普通的小程序还是可以撑得起的
不过定义这个普通小程序就有点麻烦。理论上页面不多,没有过多后台(settimeout这类的)逻辑,不需要频繁更新视图的影响都不大。
复杂的小程序,例如像京喜小程序,我以为是用Taro3,结果是用Taro2,在安卓都卡得半死
@xmsz 我觉得 taro 3 最主要的问题还有:
备注:我觉要使用 web component 以在 react / vue 中复用是好的,但是为什么不直接使用 web component polyfill?
主要在什么场景下性能会有问题,提供一下 demo 我们看看咯
主要在什么场景下性能会有问题,提供一下 demo 我们看看咯
基本稍微「大」点的小程序在安卓上都是要命的体验。
或者官方有没有「大」点的小程序DEMO,让大家体验一下。
我这边的这个性能问题已经解决了,找到问题是因为AtModal里面的内容过多引起的
但是代码是从taro2升级到taro3,后台的数据大小也可能变了很多,升级后页面也改了一些,所以现在没法确定具体性能差别多少,不过经过手动很多位置优化后,基本是可用的了(没有那种较长时间的白屏现象)
同问对于taro3性能上后续还有什么提升吗,最近用taro3的小程序页面,每次setState在低端机型(如iphone6)上那是一个卡(高端机型还好),但之前用wepy写的完全没有这种卡顿更新慢的问题,希望taro3能进行一些改善,不然后续可能得换框架了(产品不接受的情况下)
用taro3 hooks 实现两列联动滚动,同样的方法,在taro2中性能很快,在taro3中基本跑不动。。卡很久
同问对于taro3性能上后续还有什么提升吗,最近用taro3的小程序页面,每次setState在低端机型(如iphone6)上那是一个卡(高端机型还好),但之前用wepy写的完全没有这种卡顿更新慢的问题,希望taro3能进行一些改善,不然后续可能得换框架了(产品不接受的情况下)
最新版本的 taro 引入了 CustomWrapper 组件,可以把层级比较深、需要更新的区域包裹起来,那么这块区域就会单独更新,速度会快很多
同问对于taro3性能上后续还有什么提升吗,最近用taro3的小程序页面,每次setState在低端机型(如iphone6)上那是一个卡(高端机型还好),但之前用wepy写的完全没有这种卡顿更新慢的问题,希望taro3能进行一些改善,不然后续可能得换框架了(产品不接受的情况下)
最新版本的 taro 引入了
CustomWrapper组件,可以把层级比较深、需要更新的区域包裹起来,那么这块区域就会单独更新,速度会快很多
按照使用kbone wx-view的经验,这个优化影响不会很大。目前最好的方案还是只能用原生组件写
运行时框架的通病,短时间恐怕无法解决,小程序受限于运行环境,对性能要求很高,原生的性能最佳,但开发体验拉跨,taro3对简单小程序还好,业务逻辑一旦复杂起来,数据频繁更新,卡顿非常明显,对用户来说已经无法接受了
性能是个问题,这几天把几个框架测试了一个,最后发现taro3比对面uni在性能上差挺多的,特别是进行大量数据的添加更新时,不过这是运行时的通病,感觉现在是解决不了。
Most helpful comment
同问对于taro3性能上后续还有什么提升吗,最近用taro3的小程序页面,每次setState在低端机型(如iphone6)上那是一个卡(高端机型还好),但之前用wepy写的完全没有这种卡顿更新慢的问题,希望taro3能进行一些改善,不然后续可能得换框架了(产品不接受的情况下)