即刻App年轻人的同好社区
下载
App内打开
HwangSSS
3年前
Flutter VS React Native

🔗 shift.infinite.red

目前移动端跨端方案,无外乎这两种。作者比较了两个方案的各方面特点,下面我当课代表总结一下丷 👇

讨论 Flutter 和 React Native 那一个更好时,最重要的问题是什么?
- 答案是 人才!人才还是人才!
- RN 依托 JavaScript 生态有大量的人才可以寻找。 Dart 却不是。
- 所以这里 RN 胜出。

----

开发体验:
Flutter 开发体验比 React Native 出色很多。即便 React Native正在迎头赶上,但依然还有一段路要走(但Expo给了它一个强大的助力)。

性能:
比较性能是一件困难的事情。多数情况下 Flutter和React Native 都是 "足够快 "的,**特别是当有能力的开发者对它们进行了性能优化之后。**

- 不过 Flutter 的性能包袱更小,out-of-the-box 性能更优。
- 所以 Flutter 略微胜出(目前是这样的,等待RN的新框架)。

UI一致性:

- Flutter 使用 Skia 绘制 UI,所以跨端 UI 非常一致
- React Native在iOS上使用UIKit,在Android上使用Android的布局系统,在Web上使用DOM。虽然可以建立非常相似的应用程序,但它们将被每个平台的解释所影响。
- 需要指出的是 It’s worth noting that Google developers have said that a unified experience is no longer a core goal. This doesn’t seem to match very well with Flutter’s approach.

作者认为「在匹配用户期望」也就是 Android 要有 Android 的样子,iOS 要有 iOS 的样子 这件事情上, RN 的方式更好,(国内可能并不是这样)。

整合原生的能力:
- Flutter 非好的工具链,你可以直接写 Swift 和 Kotlin,官方的文档都有很详细的说明。而 RN 在这件事情上,需要和 React Native bridge 打交道,不仅受限于此,在文档上也和 Flutter 有差距。(不过新版框架将替换掉 bridge)

- 所以 Flutter 更胜一筹。

国际化:
Flutter 内置出色方案,RN 第三方方案同样优秀。
打平手

导航/路由 等:
Flutter 提供内置导航,RN 第三方同样出色
难分伯仲

对网页的支持:
- React Native可以直接在项目内共享跨端代码,无论你是使用React Native for Web还是 React.js 直接。你可以使用JavaScript/TypeScript共享服务和模块来共享大量的业务逻辑、数据模型等。

- Flutter 不太行。即便提供了 HTML/CSS/DOM 的操作能力,依然很难和一等公民抗争。
- RN 胜出。

第三方生态:
- Flutter 有一些优秀的第三方扩展,但是和庞大的 JS 生态相比,还是稍显单薄。
- RN 胜出。

大公司使用:
- RN:微软和 Meta 是主要的支持者。
- 其他:Coinbase、Shopify、Mercari、Discord、Pinterest、Tesla、沃尔玛、Wix、Salesforce、NFL、MLS、Uber Eats
- Flutter: Google 力推。
- 其他:Toyota, eBay, and Alibaba, but most of the development is driven forward by Google.
- Google 对项目的长期支持口碑不佳。
- RN 略胜

动态(热)更新:
- 一些大公司以后规避上架更新的需求,RN 更容易实现这个目标。Flutter 这边则没有相关的计划。
- RN 胜
710

来自圈子

圈子图片

JitHub程序员

389208人已经加入