Taro Next采用全运行时的模式的主要因素是什么呢?
-
Hi 我有一些疑问,从半运行时到全运行时的转变,是主要因为什么因素呢?是因为原先半运行时的模式特别难以维护吗?我的理解是新的模式对性能的影响是比较大的,特别是初次加载时页面渲染到完整显示的时间应该明显加长。我的理解有错吗?是不是因为小程序的view标签其实也是在逻辑层的数据,同样需要通过JS bridge进行传递到视图层进行渲染,所以实际上对渲染时间的影响其实是比较小的呢?谢谢!
-
@aeroww 可以看我们的博客咯 https://nervjs.github.io/taro/blog 还有公众号 「Taro 社区」以发布的文章为准咯。
Q:从半运行时到全运行时的转变,是主要因为什么因素呢?A: 主要是因为开发体验更好了吧:
- 不限制语言、语法
- 更快的运行速度
- 更快的构建速度和 source-map 支持
除了以上,还有就是开发者更容易参与。
Q:是因为原先半运行时的模式特别难以维护吗?我的理解是新的模式对性能的影响是比较大的,特别是初次加载时页面渲染到完整显示的时间应该明显加长。我的理解有错吗?
A:原先「实际上 Taro 有大量的 Commit 都是为了更完善的支持 JSX 的各种写法。」,有个梗说「如果你使用 Taro 开发感觉 Bug 少,那说明你的 React 代码写得很规范。」(引自:https://nervjs.github.io/taro/blog/2020-01-02-gmtc )。
关于性能「为了解决这个问题,Taro 从服务端渲染受到启发,在 Taro CLI 将页面初始化的状态直接渲染为无状态的 wxml,在框架和业务逻辑运行之前执行渲染流程。我们将这一技术称之为预渲染(Prerender),经过 Prerender 的页面初始渲染速度通常会和原生小程序一致甚至更快。」(引自:https://nervjs.github.io/taro/blog/2020-02-13-taro-next-alpha)文档里也有预渲染的内容,可以看看咯。以上是小助手帮你摘录的,可以看看相应的文章咯。