@
XCFOX ReactNative 应该会吃到各平台原生组件的优化,Flutter 确实更依赖引擎。
然后我说一下主观感受,由于没有最新的基准测试对比,目前在支持 Promotion 的 iOS 上,Flutter 没有卡顿问题,而且似乎有消息称 Impeller 可以降低 CPU 和 GPU 负载并提高效能。
在 Android 设备上,取决于 Flutter 组件的复杂程度,以骁龙 6gen1+120Hz 的低端设备为例,未经优化的复杂列表页会在滚动结束前或滚动中加载数据时确实有掉帧。而在骁龙 870+120Hz 设备上,体验良好,只有偶尔轻微的掉帧。
即使在骁龙 6gen1+120Hz 的低端设备中,以饿了么和美团外卖为例(似乎有在使用 ReactNative),Flutter 掉帧后的流畅度也比饿了么和美团外卖主页和店铺商品列表页更好。当然低端设备卡顿原因非常多,业务复杂度也不同,不应该直接比较。
最后说下可能过时的个人看法,Dart 通常不会增加太多的学习成本,即使是 ReactJS 的熟练开发者,相比之下 ReactNative 在不使用 Expo 的情况下上手可能比 Flutter 更困难。另外,ReactNative 似乎更容易实现现代优雅的外观设计。