现阶段选 React 不会错,生态比其他好得多,js 性能问题也解决了。
React 可以开发前端,做 APP 直接用 React Native/Capacitor ,做小程序用 Taro 。React 理论上可以适配到所有图形引擎或者平台上,包括 Flutter 同款的 Skia ,要是 Impeller 性能出色的话,React 再适配到 Impeller 也完全可行。
新出炉的 React Native 0.76 默认启用了新架构,性能大幅提升,再加上 hermes 引擎,js 的执行速度早就不是瓶颈。
Flutter 的优势是界面是完全自绘,能保证所有平台的一致性。这同时也意味着放着完善的 ios/android 生态不用,全部都另起炉灶。这当然是值得鼓励的,但是谷歌给到 Flutter 的支持显然不如 Apple 给到 iOS 的,也不如谷歌自己给到 Android 的,于是 Flutter 在体验上始终与原生 APP 存在差距,尤其是高帧率逐渐普及之后,Flutter 不得不放弃 Skia 自研 Impeller 。
可以体验一下 V2EX 的 Flutter 客户端和 React Native 客户端,Flutter 版本滑动、翻页的时候存在明显卡顿,RN 的体验明显好得多。
https://github.com/guozhigq/flutter_v2exhttps://github.com/liaoliao666/v2ex<amp-youtube data-videoid="G1gyNV7mp5E" layout="responsive" width="480" height="270"></amp-youtube>