1. 语言
TypeScript + jsx 完胜 Dart
2. 性能
React Native 在各个系统上均使用原生渲染;
Flutter 现阶段在 iOS 上使用 Impeller 渲染引擎,在 Android 上使用 Skia 引擎;
Skia 版本的 Flutter 在滑动、翻页时存在明显卡顿,动画反馈也会延迟几帧,Impeller 版本的 Flutter
有的文章认为 Flutter 性能好于 React Native ,实际上是在说 dart 的性能好于 js 。然而 React Native 目前使用 jsi 与原生进程通信,性能与早期版本相比有大幅度改进,js 代码的执行速度已经不是瓶颈。
在现在这个时间点来看,React Native 的性能/动画流畅度/用户体验是好于 Flutter 的,但是 Flutter 的 Impeller 引擎完善之后估计会追平 React Native 。
3. 开发体验
Flutter 的环境搭建很方便,React Native 使用 expo 开发也很方便,React Native 使用 react-native-cli 的话搭环境会很麻烦。
4. 生态
RN 坐拥 npm 生态,虽然包质量稂莠不齐,但是 npm 的生态比 dart 繁荣得多。
全面使用 React Native 的 APP 很多:Discord 、Mattermost 、京东、
https://reactnative.dev/showcase全面使用 Flutter 的 APP 寥寥而已:哔哩哔哩漫画、彩云小梦,不得不再提一下这两个 APP 在动画流畅度方面是存在很大问题的。
在我个人看来 Flutter 相比 React Native 是没有优势的,作为用户来说 Flutter 开发的 APP 体验是倒退的。
除了 React Native 环境搭不好的情况,现阶段还是推荐 React Native 。