XCFOX
9 小时 44 分钟前
React Native 和 Flutter 各有各的优势,生态都算得上完善。
RN 的优势是使用 React + js/ts 开发,使用原生渲染。性能基本上没问题,一般页面确实像 native 一样流畅。
TypeScript + React 生态太好了,Zustand + nativewind 领先 Flutter 两个大版本。
使用 Expo 搭环境开发体验也很优秀。还有后悔药热更新。
RN 的劣势是多端 UI 不一致,一个样式你在 iOS 上调的很好看了到 Android 上就崩了,得仿佛来回调,增加了许多开发成本。
Flutter 的优势是自绘视图,也就是多端 UI 完全一致。之前使用 Skia 绘图引擎的时候与原生应用| React Native 在体验上较大差距; Impeller 全面应用之后 我自己体验下来流畅度是胜过 RN 、与原生应用伯仲之间的。
劣势是使用 Dart 作为开发语言,落后主流 UI 框架 一个大版本。别人 SwiftUI 、Kotlin Compose 、React 、Vue 写一个 Counter 组件多清晰简洁; Dart 、Flutter 非得整两个 class ( StatefulWidget + State ) 是有什么大病?
别人 Swift 、Kotlin 尾随 lambda 都多少年了、React JSX 都多少年了?你 Dart 2025 年还在嵌套地狱、答案抄都不会抄?
更别说状态管理了,Zustand 、Jotai 、Valtio 随便拎一个出来都领先 Riverpod 、BLoC 一个大版本。
选型建议:具体到开发团队,更熟悉 web 、js 生态的团队选 React Native ,更熟悉原生开发、安卓开发的团队选 Flutter 。具体到应用:自绘视图和复杂视图多的应用选 Flutter ,比如谷歌地球、高德地图;使用原生组件多的应用选 RN ,比如新闻、视频、聊天。
最后是幻想时间:希望 Flutter 尽早抛弃 Dart 改换 TypeScript + JSX 或 Kotlin ,这样生态、性能、多端一致性、开发体验一应俱全。